Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado (editado)

Boa tarde Colegas!
Estou desenvolvendo uma rotina para geração do evento s-2220 (a geração do xml já está pronta) - minha dificuldade persiste na assinatura do mesmo. Baseando-me nos exemplos do ACBreSocial - carrego o xml gerado para o componente ACBreSocial, carrego as informações do certificado digital e mando fazer a assinatura do mesmo. Não ocorre nenhum erro, porém o referido xml não é assinado (ou seja, as informações do CD não são inseridas na tags <DigestValue>, <SignatureValue> e <X509Certificate> - algum colega já passou por este problema e poderia me dar alguma dica de como resolver.

Obs.: Utilizo certificado A1 do SERPRO.

Editado por hpensador
  • Consultores
Postado

Boa tarde,

Após gerar o XML através da sua aplicação, carregue o mesmo através do método LoadFromFile do componente ACBreSocial.

O componente vai detectar que o XML não esta assinado e vai realizar a assinatura no mesmo automaticamente.

 

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
Em 08/06/2018 at 16:15, Italo Jurisato Junior disse:

Boa tarde,

Após gerar o XML através da sua aplicação, carregue o mesmo através do método LoadFromFile do componente ACBreSocial.

O componente vai detectar que o XML não esta assinado e vai realizar a assinatura no mesmo automaticamente.

 

Boa tarde Italo!

Já faço isto, porém estudando um pouco mais os exemplos encontrei alguns erros (meu de programação) - tipo, não estava especificando se o evento era: Periodico, Não Periodico ou Tabelas... bem, fiz as devidas correções e agora ocorre um erro quando vou fazer W_ACBreSocial.Eventos.Iniciais.LoadFromString(W_XML) - dá a seguinte mensagem de erro: Falha ao interpretar o XML "xmlParseDoc". Nas minhas pesquisas ainda não encontrei nenhuma referencia a geração do eSocial e mesmo tendo tentado aplicar algumas soluções não consegui obter exito ainda.

Estou usando D7 com ACBr Truck2 baixado recentemente.

Postado
21 horas atrás, Italo Jurisato Junior disse:

Boa tarde,

A minha sugestão é que você carregue qualquer tipo de evento da seguinte forma:

    ACBreSocial1.Eventos.LoadFromFile(NomeXML);
 

Boa tarde Italo!

Modifiquei a carga do arquivo conforme sua orientação, porém o erro persiste. Debugando o código percebi GerarXML da classe TNaoPeriodicos o count fica = 0, ou seja é como se não tivesse sido gerado/carregado nenhum XML para o componente.
for I := 0 to Self.S2220.Count - 1 do
    Self.S2220.Items.evtMonit.GerarXML;

 

Postado
3 horas atrás, Italo Jurisato Junior disse:

Bom dia,

Favor atualizar os fontes e faça novos testes.

Boa tarde Ítalo!

Atualizei os fontes e nos testes ocorre o seguinte erro:


Falha na validação dos dados do evento: evtMonit-v02_04_02

1824 - Element '{http://www.esocial.gov.br/schema/evt/evtMonit/v02_04_02}nrCRM': '' is not a valid value of the local atomic type.

Sendo que a referida tab (nrCRM) está preenchida, segue anexo XML.
 

eSocial_S-2220_ADAILTON SANTOS ALVES.xml

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

Bom dia,

Esse XML esta errado, pois segundo o manual o grupo <ideServSaude> fica dentro do grupo <aso> logo após o grupo <exames>

Favor montar corretamente o XML e faça novos testes.

Bom dia Italo!

XML remontado e teste feito, erro persiste.


Falha na validação dos dados do evento: evtMonit-v02_04_02

1824 - Element '{http://www.esocial.gov.br/schema/evt/evtMonit/v02_04_02}nrCRM': '' is not a valid value of the local atomic type.
 

eSocial_S-2220_ADAILTON SANTOS ALVES.xml

  • Consultores
Postado

Peguei o seu XML, removi a assinatura e tentei ler com o programa exemplo.

O erro que apareceu não foi esse referente ao elemento nrCRM e sim pela ausência da tag obrigatória <interprExm> que se encontra dentro do grupo exames e fica entre as tags: obsProc (opcional) e ordExame (obrigatória).

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 (editado)
19 minutos atrás, Italo Jurisato Junior disse:

Peguei o seu XML, removi a assinatura e tentei ler com o programa exemplo.

O erro que apareceu não foi esse referente ao elemento nrCRM e sim pela ausência da tag obrigatória <interprExm> que se encontra dentro do grupo exames e fica entre as tags: obsProc (opcional) e ordExame (obrigatória).

Adicionei o valor 1 (Referencial) a tag <ordExame> e 1 (EE) a tab <interprExm>, sendo que o erro apresentado agora é:


Falha na validação dos dados do evento: evtMonit-v02_04_02

1824 - Element '{http://www.esocial.gov.br/schema/evt/evtMonit/v02_04_02}nrCRM': '' is not a valid value of the local atomic type.


 

 

eSocial_S-2220_ADAILTON SANTOS ALVES.xml

Editado por hpensador
  • Consultores
Postado

Qual é a aplicação que esta gerando esse XML?

Se é a sua, por favor tenha em mãos o Manual do eSocial, pois removi a assinatura do XML que você anexou tentei ler com o programa exemplo do eSocial e o erro não é esse e sim: 

1871 - Element '{http://www.esocial.gov.br/schema/evt/evtMonit/v02_04_02}respMonit': Missing child element(s). Expected is ( {http://www.esocial.gov.br/schema/evt/evtMonit/v02_04_02}nisResp ).

Ou seja esta faltando o elemento nisResp que faz parte do grupo respMonit.

Se você olhar o seu XML o grupo respMonit esta vazio e esse grupo é obrigatório e nele consta 3 tags sendo que as 2 primeiras são obrigatórias e a ultima opcional.

Enquanto você não gerar o XML conforme o manual (sem o grupo Signature) para ser lido pelo componente não vai funcionar.
 

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
8 minutos atrás, Italo Jurisato Junior disse:

Qual é a aplicação que esta gerando esse XML?

Se é a sua, por favor tenha em mãos o Manual do eSocial, pois removi a assinatura do XML que você anexou tentei ler com o programa exemplo do eSocial e o erro não é esse e sim: 

1871 - Element '{http://www.esocial.gov.br/schema/evt/evtMonit/v02_04_02}respMonit': Missing child element(s). Expected is ( {http://www.esocial.gov.br/schema/evt/evtMonit/v02_04_02}nisResp ).

Ou seja esta faltando o elemento nisResp que faz parte do grupo respMonit.

Se você olhar o seu XML o grupo respMonit esta vazio e esse grupo é obrigatório e nele consta 3 tags sendo que as 2 primeiras são obrigatórias e a ultima opcional.

Enquanto você não gerar o XML conforme o manual (sem o grupo Signature) para ser lido pelo componente não vai funcionar.
 

Obrigado Italo!

Desculpa minha falta de atenção.

Restaurei um backup na base de testes e não alterei o cadastro do médico novamente para colocar a informação do NIS.

Vou refazer.

Postado
1 hora atrás, hpensador disse:

Obrigado Italo!

Desculpa minha falta de atenção.

Restaurei um backup na base de testes e não alterei o cadastro do médico novamente para colocar a informação do NIS.

Vou refazer.

Boa tarde Italo!

Fiz as correções, removi as tags da parte da assinatura. Agora ocorre o erro:


Falha na validação dos dados do evento: evtMonit-v02_04_02

1824 - Element '{http://www.esocial.gov.br/schema/evt/evtMonit/v02_04_02}dtIniMonit': '18/06/2018' is not a valid value of the local atomic type.

No manual diz: "Validação: Deve ser uma data válida, posterior a data de admissão do trabalhador". Já tentei com varias data e não obtive exito.

eSocial_S-2220_ADAILTON SANTOS ALVES.xml

Postado
6 horas atrás, Italo Jurisato Junior disse:

Bom dia,

As datas estão informadas de forma errada.

O formato correto de uma data no XML é: AAAA-MM-DD

No seu XML esta no seguinte formato: DD/MM/AAAA

Corrija o formato de todas as datas e tente novamente.

Boa tarde Italo!

Muito obrigado pelo retorno.

Formato das datas corrigidas, XML assinado - porém, não enviado. Mensagem de erro:


Falha na validação dos dados do evento: evtMonit-v02_04_02

1824 - Element '{http://www.esocial.gov.br/schema/evt/evtMonit/v02_04_02}nrCRM': '' is not a valid value of the local atomic type.

Porém o valor da tag nrCRM está preenchido com o referido valor.


 

1000000157538472018061915262400001-S-2220-0.xml

Postado (editado)
27 minutos atrás, Italo Jurisato Junior disse:

Boa tarde,

Ao gerar o XML não inclua o encoding.

Removi o grupo assinatura e o encoding e funcionou.

S-2220-0.xml

Bem, ao remover o encoding o componente dá erro na carga do XML. ( W_ACBreSocial.Eventos.LoadFromFile(W_XML); )


Erro: Falha ao interpretar o XML "xmlParseDoc"

 

eSocial_S-2220_ADAILTON SANTOS ALVES.xml

Editado por hpensador
Postado
15 horas atrás, Italo Jurisato Junior disse:

Esse arquivo que você anexou tem: "<?xml version="1.0"?>" não é para ter nada disso.

Bom dia Italo!

Obrigado pelo retorno.

W_XMLDoc                                      := TXMLDocument.Create(nil);
      W_XMLDoc.Active                               := True;
     // W_XMLDoc.Version                              := '1.0';  <--- linha comentada.
      W_XMLDoc.Encoding                             := 'utf-8';

Na programação retirei a parte onde era definida a versão do XML, e mesmo assim a mesma é adicionada. Não sei se isto é um comportamento padrão do componente XMLDocument.
O XML é assinado, porém é apresentado erro e o processo não é concluído (não ocorre o envio).


Falha na validação dos dados do evento: evtMonit-v02_04_02

1824 - Element '{http://www.esocial.gov.br/schema/evt/evtMonit/v02_04_02}nrCRM': '' is not a valid value of the local atomic type.
 

Anexo o XML gerado por minha aplicação e o salvo após ser salvo.

 

1000000157538472018062008591600001-S-2220-0.xml

eSocial_S-2220_ADAILTON SANTOS ALVES.xml

Postado
16 horas atrás, Italo Jurisato Junior disse:

Esse arquivo que você anexou tem: "<?xml version="1.0"?>" não é para ter nada disso.

Italo, mais algumas informações.

O XML por minha aplicação criada está sem as tags version e encoding - porém, após ser carregado para o componente ACBreSocial e submetido ao metodo W_ACBreSocial.AssinarEventos, e salvo é que essas tags são adicionadas.

1000000157538472018062009263800001-S-2220-0.xml

eSocial_S-2220_ADAILTON SANTOS ALVES.xml

  • Consultores
Postado

Bom dia,

Acabei de fazer um teste usando o programa exemplo do eSocial.

Primeiramente carreguei o XML que você anexou (eSocial_S-2220_ADAILTON SANTOS ALVES.xml) através do botão [Carregar XML]

Este botão após você selecionar o XML desejado, o carrega através do seguinte comando:

    ACBreSocial1.Eventos.LoadFromFile(OpenDialog1.FileName);

Ao executar o método LoadFromFile o componente verifica se o XML esta assinado, caso não esteja o mesmo será assinado e em seguida será validado.

Portanto não se faz necessário executar o método AssinarEventos.

Como não obtive nenhum erro referente a assinatura ou de validação, em seguida cliquei no botão [Enviar] e o evento foi enviado sem nenhum problema.

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
10 minutos atrás, Italo Jurisato Junior disse:

Bom dia,

Acabei de fazer um teste usando o programa exemplo do eSocial.

Primeiramente carreguei o XML que você anexou (eSocial_S-2220_ADAILTON SANTOS ALVES.xml) através do botão [Carregar XML]

Este botão após você selecionar o XML desejado, o carrega através do seguinte comando:

    ACBreSocial1.Eventos.LoadFromFile(OpenDialog1.FileName);

Ao executar o método LoadFromFile o componente verifica se o XML esta assinado, caso não esteja o mesmo será assinado e em seguida será validado.

Portanto não se faz necessário executar o método AssinarEventos.

Como não obtive nenhum erro referente a assinatura ou de validação, em seguida cliquei no botão [Enviar] e o evento foi enviado sem nenhum problema.

Opa, muito obrigado!
Fiz aqui seguindo os passos por você indicado e agora foi.

No retorno consta o erro: "Erro na cadeia do certificado digital do signatário ou do solicitante da informação."

 

20180620101243-env-lot.xml

20180620101244-rec.xml

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

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...