Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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

Postado (editado)

@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
  • Consultores
Postado

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 / Araraquara-SP

Araraquara - A era dos Trólebus

Postado
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.

 

  • 1 mês depois ...
Postado (editado)

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
  • 4 semanas depois ...
Postado

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?

 

Postado
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
  • 4 meses depois ...
Postado

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;

 

  • Moderadores
Postado
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.

 

 

 

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