Ir para conteúdo
  • Cadastre-se

dev botao

Re-assinar eventos


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 2274 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Bom dia tenho tentado carregar um XML gerado para alterar um assinatura vencida sem sucesso, alguem sabe a forma correta de proceder?

 

oAcbr.Eventos.LoadFromFile(sFileName); 

e com o 

oAcbr.Eventos.LoadFromString(sTextoXML);

 

Ao usar qualquer um dos dois tenho obtido o seguinte erro..

---------------------------
Debugger Exception Notification
---------------------------
Project Folha.exe raised exception class Exception with message 'Falha na validação dos dados do evento: evtInfoEmpregador

1824 - Element '{http://www.esocial.gov.br/schema/evt/evtInfoEmpregador/v02_04_02}cpfCtt': '' is not a valid value of the local atomic type.
'.
---------------------------
Break   Continue   Help   
---------------------------

O que não entendi é que no codigo existe um função "StrEventoToTipoEvento" na unit pcesConversaoeSocial que sempre retorna Zero... porque usar o comparado AnsiSameText ao invés do AnsiPos...

Segue anexo do XML... 

 

 

function StrEventoToTipoEvento(var ok: boolean; const s: string): TTipoEvento;
const
  EventoString: array[0..49] of String =('evtInfoEmpregador', 'evtTabEstab',
       'evtTabRubrica', 'evtTabLotacao', 'evtTabCargo', 'evtTabCarreira',
       'evtTabFuncao', 'evtTabHorContratual', 'evtTabAmbiente', 'evtTabProcesso',
       'evtTabOperPortuario', 'S-2100', 'evtRemun', 'evtRmnRPPS', 'evtBenPrRP',
       'evtPgtos', 'S-1220', 'evtAqProd', 'evtComProd', 'evtContratAvNP',
       'evtInfoComplPer', 'evtTotConting', 'evtReabreEvPer', 'evtFechaEvPer',
       'evtContrSindPatr', 'evtAdmPrelim', 'evtAdmissao', 'evtAltCadastral',
       'evtAltContratual', 'evtCAT', 'evtASO', 'evtAfastTemp', 'evtExpRisco',
       'evtInsApo', 'evtAvPrevio', 'evtConvInterm', 'evtReintegr', 'evtDeslig',
       'evtTSVInicio', 'S-2305', 'evtTSVAltContr', 'evtTSVTermino', 'evtCdBenPrRP',
       'evtExclusao', 'S-4000', 'S-4999', 'S-5001', 'S-5002', 'S-5011', 'S-5012');
begin
  result := TTipoEvento( StrToEnumerado2(ok , s, EventoString ) );//No meu caso sempre esta retornando Zero...  
end;

 

function StrToEnumerado2(out ok: boolean;  const s: string; Const AString: array of string ): variant;
// Atencao  não Funciona em Alguns Enumerados ja existentes
var
  i: integer;
begin
  Result  := 0;
  ok      := False;
  try
    for i := Low(AString) to High(AString) do
      if AnsiSameText(s, AString) then
      begin
        result  := i;
        ok      := True;
        exit;
      end;
  Except
    ok := False;
  End;
end;

{283563D6-0D3E-4353-BB29-B331BD1F6D5F}_100918095221_evento.xml

Postado

Sim... o cliente assinou enviou S1000 e o S1005 depois de uns 4 dias foi enviar o resto mas a assinatura tinha vencido... :(

Mas as vezes acontece tb de configurar um certificado errado e pra não regerar novamente tudo, prefiro re-assinar... ;)

  • Consultores
Postado

Jonathan,

Peguei o XML que você anexou e removi o grupo <Signature> usando o bloco de notas.

Depois através do programa exemplo através do botão [Carregar XML] carreguei o XML, ele foi assinado sem nenhum problema, nenhum erro ocorreu.

Quando carregamos um XML através do método LoadFromFile ou LoadFromString, o componente checa se o mesmo já esta assinado, se não estiver, ele será assinado e validado.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Obrigado Italo,

Estou atualizando novamente os fontes de vou refazer os testes!

então tenho que remover as tags de assinatura antes de assinar correto ?

  • Consultores
  • Solution
Postado

Boa tarde Jonathan,

Se o evento foi assinado e não foi enviado e quando ele é enviando o certificado foi trocado pois o outro venceu, se você não remover o grupo <Signature> do XML do evento em questão ao carregar para o componente como dito antes o XML não será assinado novamente.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Deu certo...

Eu não tinha entendido que ao utilizar o metodo ACBR.Eventos.LoadFromString(XML); 

o componente já assina caso não encontre as tags "Signature" 

Eu estava tentando assinar novamente... 

 

Vlw Italo muito obrigado pelo feedback...

  • Curtir 2
  • Administradores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 2274 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.