Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2259 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Bom dia Colegas!

É possível apenas assinarmos o XML e não fazer o envio?

Explico: No evento ACBreSocial.AssinarEventos, assim que o mesmo é assinado é feito também o envio. Acontece que estou desenvolvendo uma rotina onde será gerado vários XMLs e assinados, para depois serem enviados e o que acontece, durante o processo de geração se ocorre erro de validação em um dos XMLs o processo para naquele ponto.

[ ]'s,

Hélio

Postado

Boa tarde, aqui a gente gera/assina evento por evento. A gente chama a função GerarXML para cada evento que estamos gerando...

Exemplo:

evtInfoEmpregador.GerarXML; (S-1000)

evtTabEstab.GerarXML; (S-1005)

EvtTabRubrica.GerarXML; (S-1010)

EvtAdmissao.GerarXML; (S-2200)

Essa função retorna um boolean que indica se foi gerado/assinado corretamente ou não.

Além disso, a gente coloca o GerarXML em um try/except, pois quando há problema de validação de schema, o componente dispara uma exceção, e dessa forma conseguimos pegar a exceção e saber exatamente de qual evento ela veio.

E na hora de enviar chamamos apenas o método: ACBreSocial.Enviar(Grupo);

  • Curtir 1
Postado (editado)

Boa tarde Paulo!

Eu não utilizo o componente (ACBreSocial) para a geração do XML, apenas para assinar o XML já gerado anteriormente. Com relação ao try/except também faço uso, porém quando ocorre qualquer erro o processo para naquele ponto.... exemplo, seleciono 100 ASOs para gerar o eSocial e digamos que no segundo dê algum erro... pronto, o XML dos demais 98 não são gerados.

ACBreSocial.Eventos.LoadFromFile(W_XML);
      try
         ACBreSocial.AssinarEventos;
      except
         on e : Exception do begin
            raise Exception.Create('Classe: ' + e.ClassName + ' Erro: ' + e.Message);
         end;
      end;

Editado por hpensador
  • Consultores
Postado

Boa tarde hpensador,

O código do botão [Carregar XML] que se encontra no programa exemplo do componente, permite carregar o XML gerado pela sua aplicação, assinar e validar.

Desta forma é possível criar um loop para carregar cada um dos XMLs.

Depois de todos carregados, assinados e validados, você envia.

Estude o programa exemplo.

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

Boa tarde Italo!

Seguindo sua orientação fui estudar o exemplo do ACBreSocial, porém estou com o seguinte problema: mesmo estando com as informações do certificado carregada recebo mensagem de erro:

image.png.b87de8bed2a624c7fddf4a7d7f4fd9f2.png

Postado
1 hora atrás, Italo Jurisato Junior disse:

Bom dia,

Após alterar a configuração, você clicou no botão salvar a configuração?

 

Ok, realmente depois é que observei que não havia modificado a versão para 2.4.02.
Obrigado!

Agora vou depurar o exemplo e ver como é que faço para apenas assinar o XML.

Postado
2 minutos atrás, Italo Jurisato Junior disse:

O componente após carregar o XML checa se o mesmo esta assinado ou não, se não estiver assina, em seguida realiza a sua validação.

Agora foi.. mais uma vez muito obrigado!
Justamente isto, observei no exemplo que ele apenas faz o LoadFromFile e eu estava além de fazer o LoadFromFile executando o metodo ACBreSocial.AssinarEventos e este sim faz o envio.

  • Curtir 2
  • Este tópico foi criado há 2259 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.