Ir para conteúdo
  • Cadastre-se

dev botao

eSocial - Erro na validação de schemas Registro 1200 Simplificado.


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

Recommended Posts

Boa tarde.

Estou tentando fazer a emissão do registro 1200, porem na validação do schema evtRemun-v_S_01_00_00.xsd e estou tendo o seguinte retorno:

1824 - Element ''{http://www.esocial.gov.br/schema/evt/evtRemun/v_S_01_00_00}dia'': ''0'' is not a valid value of the atomic type ''{http://www.esocial.gov.br/schema/evt/evtRemun/v_S_01_00_00}TS_dia

A inconsistência acontece no campo "dia" que pertence ao grupo infoInterm, pois quando eu informo o valor "0" dá este erro, porem quando eu informo um valor entre 1 a 31 passa pela validação. O mas estranho é que no próprio layout diz que:

"Dia do mês efetivamente trabalhado pelo empregado com contrato de trabalho intermitente. Caso não tenha havido trabalho no mês,  informar 0 (zero). Validação: Deve ser um número entre 0 e 31, de acordo com o calendário anual."

Já baixei o arquivo .xsd mais atual do site https://www.gov.br/esocial/pt-br/documentacao-tecnica

Anexei a este tópico os arquivos XML retornados após validação, schema e layout.

Ficarei muito grato se puderem me ajudar.

Abraços.

Imagem Layout.jpeg

evtRemun.xml evtRemun-v_S_01_00_00.xsd evtRemun-v_S_01_00_00_error.xml

Link para o comentário
Compartilhar em outros sites

Só para complementar, debugando o fonte, a função SSL.Validar retornou esta mensagem:

'1833 - Element ''{http://www.esocial.gov.br/schema/evt/evtRemun/v_S_01_00_00}dia'': [facet ''minInclusive''] The value ''0'' is less than the minimum value allowed (''1'').'#$A

Dendo do arquivo do schema evtRemun já tem o zero como mínimo. 

<xs:element name="infoInterm" minOccurs="0" maxOccurs="31" type="T_infoInterm">

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Parece que o manual confundiu o que deveria ser feito.

3 horas atrás, ledware disse:

<xs:element name="infoInterm" minOccurs="0" maxOccurs="31" type="T_infoInterm">

Isso indica que podem haver de 1 a 31 incidências do campo ou não haver nenhuma.

Se não trabalhou nenhum dia e o mínimo é zero, não deve gerar tags.

Se trabalhou algum dia, gera uma tag para cada dia trabalhado.

Aparentemente basta você não adicionar o item na lista, ao invés de incrementar e preencher com zero.

Link para o comentário
Compartilhar em outros sites

Bom dia Renato. 

Pois é meu caro, realmente está confuso essa questão. Pois já chegamos a fazer essa modificação para teste não enviando o grupo "InfoInterm", até passa na validação do schema, porem dá problema lá o servidor, conforme abaixo:

Código Retorno: 201

Código.....: 8
Descrição..: Grupo 'Informações relativas ao trabalho intermitente' deve ser preenchido. Verifique as condições de preenchimento no leiaute.

Abraços.

Link para o comentário
Compartilhar em outros sites

O que acontece é que, para essa situação, tem que usar a categoria "111"! Que se refere ao funcionário intermitente. Então para esse caso é obrigatório informar o grupo "infoInterm" com a campo "dia" mesmo estando com valor "0" zero.

Fiz um teste de emissão sem passar pelo validador de schemas e foi com sucesso! 

Estou mandando em anexo um arquivo xml gerado com sucesso, no qual informei as tags e que não validei o schema pela procedure "Validar", conforme ilustrado abaixo:

procedure TEventos.GerarXMLs;
begin
  Gerar;
  Assinar;
  //Validar;
end;

Saberia me dizer o motivo de não ter validado o xml? 

1314919560000002022060716123794109-S-1200-0.xml

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Pior que os schemas estão corretos.

Veja se você está com o tipos.xsd atualizado também.

https://sourceforge.net/p/acbr/code/HEAD/tree/trunk2/Exemplos/ACBrDFe/Schemas/eSocial/tipos.xsd#l1980

Screenshot_20220607-211051_Chrome.jpg

Em 06/06/2022 at 16:13, ledware disse:

1833 - Element ''{http://www.esocial.gov.br/schema/evt/evtRemun/v_S_01_00_00}dia'': [facet ''minInclusive''] The value ''0'' is less than the minimum value allowed (''1'').'#$A

De acordo com essa rejeição, os tipos podem estar desatualizados.

Link para o comentário
Compartilhar em outros sites

Bom dia Renato.
 

Pocha, matou a charada! Realmente o meu problema estava no tipos.xsd desatualizado! Pois depois que atualizei passou da validação normalmente! 

Muito obrigado.

 

 

 

 

12 horas atrás, Renato Rubinho disse:

Pior que os schemas estão corretos.

Veja se você está com o tipos.xsd atualizado também.

https://sourceforge.net/p/acbr/code/HEAD/tree/trunk2/Exemplos/ACBrDFe/Schemas/eSocial/tipos.xsd#l1980

Screenshot_20220607-211051_Chrome.jpg

De acordo com essa rejeição, os tipos podem estar desatualizados.

O que acontece é que, para essa situação, tem que usar a categoria "111"! Que se refere ao funcionário intermitente. Então para esse caso é obrigatório informar o grupo "infoInterm" com a campo "dia" mesmo estando com valor "0" zero.

Fiz um teste de emissão sem passar pelo validador de schemas e foi com sucesso! 

Estou mandando em anexo um arquivo xml gerado com sucesso, no qual informei as tags e que não validei o schema pela procedure "Validar", conforme ilustrado abaixo:

procedure TEventos.GerarXMLs;
begin
  Gerar;
  Assinar;
  //Validar;
end;

Saberia me dizer o motivo de não ter validado o xml? 

 

 

 

 

 

 

 

 

Link para o comentário
Compartilhar em outros sites

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