Ir para conteúdo
  • Cadastre-se

dev botao

Vlr Default Evento S-2230


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

Recommended Posts

O Campo tpAcidTransito só pode ser preenchido se o codMotAfastt for equivalente a [01,03]

Problema: Como o grupo no qual a tag pertence sempre será assinado, e por ele ser um type, o campo sempre será preenchido mesmo que seja um valor default que no caso é tpatAtropelamento

O correto seria: se não foi preenchido não deveria ser informado. 

@Rafael Dias 

image.thumb.png.d9048428c7537410496c43a05ead0508.png

Link para o comentário
Compartilhar em outros sites

@Alisson Souza Pereira Seguindo o manual e posteriormente transmitindo o evento S-2230, fiz alguma mudanças para resolver este problema.

@Rafael Dias Por favor verifique se está de acordo.

eSocial_S2230.pas

Add tbm o conversor do tpAcidenteTransito no eSocial_conversao

 

function eStpTpAcidTransitoToStr(const t: tpTpAcidTransito ): string;
begin
  result := EnumeradoToStr2(t,TGenericosString1_3 );
end;

function eSStrTotpTpAcidTransito(var ok: boolean; const s: string): tpTpAcidTransito;
begin
  result := tpTpAcidTransito( StrToEnumerado2(ok , s, TGenericosString1_3 ) );
end;

 

Editado por arce
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia a todos,

arce, notei que você ainda esta usando os fontes antigos, incluse essa unit não tem mais esse nome.

Peço que faça uma cópia e atualize todos os fontes de todas as pastas e reinstale os componentes.

Fiz a correção na unit que gera o evento 2230 e já enviei para o repositório.

  • Curtir 3
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

8 minutos atrás, Italo Jurisato Junior disse:

Bom dia a todos,

arce, notei que você ainda esta usando os fontes antigos, incluse essa unit não tem mais esse nome.

Peço que faça uma cópia e atualize todos os fontes de todas as pastas e reinstale os componentes.

Fiz a correção na unit que gera o evento 2230 e já enviei para o repositório.

Como gerei a versão do meu sistema em produção para meus clientes transmitirem os eventos de tabela com os fontes anteriores; estou aguardando o fim do envio das tabelas para realizar o update. Mas o farei antes do inicio da segunda fase.

 

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Olá.

Ao gerar criar o evento S-2230 notei alguns problemas no XML gerado.

S2230.EvtAfastTemp.infoAfastamento.iniAfastamento.infoAtestado.InfoAtestadoItem.Emitente.ufOC não é obrigatório e quando não preenchido gera a tag no XML com o valor "AC".

O mesmo problema ocorre com o campo infoMesmoMtv que quando não preenchido é gerado com o valor "S".

Penso que talvez uma solução plausível seja que para todos os tipos "enum" o primeiro item seja um valor inválido, o qual, no momento apropriado seria checado para gerar o não uma tag no arquivo XML.

Segue em anexo uma sugestão de implementação.

Grato à todos pela atenção.

pcesConversaoeSocial.pas.diff

pcnGerador.pas.diff

Editado por croscato
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Croscato,

O componente ainda precisa de muitos ajustes e esse é um deles.

Vamos estudar a melhor solução.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Ola Italo.

Percebi também um outro problema. Os nós "iniAfastamento" e "fimAfastamento" não são obrigatórios. E como o código está disposto hoje ambos estão sendo gerados.

Uma sugestão seria usar o código em anexo que já é utilizado em outras gerações de eventos do eSocial.

Abraço à todos!

pcesS2230.pas.patch

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

Favor anexar a unit alterada.

Desde já muito obrigado pela colaboração.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...

Alguem conseguiu resolver este problema dos tipos enumerados?

Estou verificando que com os fontes atualizados ainda gera o "tpAcidTransito = 1 - Acidente de Trânsito" quando não informado valor para ele (ou não informada a tag na geração).

->Como estão tratando na geração nestes casos de campos enumerados e opcionais?

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Sandro,

No meu entendimento um campo cujo tipo é enumerado, deveríamos ter um valor por exemplo: atNenhum, que ao gerar a tag opcional passaria uma string vazia, desta forma a tag não seria gerada.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Agora, Italo Jurisato Junior disse:

Bom dia Sandro,

No meu entendimento um campo cujo tipo é enumerado, deveríamos ter um valor por exemplo: atNenhum, que ao gerar a tag opcional passaria uma string vazia, desta forma a tag não seria gerada.

Concordo plenamente e acredito que seja a melhor solução nestes casos.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 4 meses depois ...

Fiz a alteração acima e funcionou bem. Existem varios campos com valor tipo 0,1,2..9 que só devem devem gerados em certas situações, porem como sao propriedades do tipo inteiro que nao pode ficar 'Null' sempre estarão com valor 0 ao iniciar e aí não saberemos se foi preenchida ou está vazia. Alguma sugestão de como modificar pcesConversaoeSocial.pas para para não atribuir valor zero, quando forem inicializadas ou convertidas para string?

 

function eSIndSitPFToStr(const t: tpIndSitPF): string;
begin
  result := EnumeradoToStr2(t, TGenericosString0_2);
end;

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
Em 05/09/2018 at 16:43, Luiz Neto disse:

Fiz a alteração acima e funcionou bem. Existem varios campos com valor tipo 0,1,2..9 que só devem devem gerados em certas situações, porem como sao propriedades do tipo inteiro que nao pode ficar 'Null' sempre estarão com valor 0 ao iniciar e aí não saberemos se foi preenchida ou está vazia. Alguma sugestão de como modificar pcesConversaoeSocial.pas para para não atribuir valor zero, quando forem inicializadas ou convertidas para string?

 

function eSIndSitPFToStr(const t: tpIndSitPF): string;
begin
  result := EnumeradoToStr2(t, TGenericosString0_2);
end;

 

Boa tarde, Luiz Neto.

Tópico antigo. Sugiro que crie um novo, relatando sua dúvida ou problema.

  • Curtir 1
Equipe ACBr

Felipe Eduardo Resende Mesquita

Ajude o Projeto ACBr crescer - Assine o SAC

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

 

 

 

Link para o comentário
Compartilhar em outros sites

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