Ir para conteúdo
  • Cadastre-se

dev botao

Registro E116: Diferença na função "StrToOrigemProcesso" e "OrigemProcessoToStr" para o campo "07 - IND_PROC".


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

Recommended Posts

Bom dia.

Tenho uma dúvida, com relação às funções "OrigemProcessoToStr" e "StrToOrigemProcesso" da unit "ACBrEFDBlocos".

No Guia Prático da EFD, versão 2.0.21/2.0.22 o campo "07 - IND_PROC" do Registro "E116" recebe como valores válidos [0, 1, 2, 9], mas tive um problema ao validar o arquivo pelo PVA e percebi que nas funções são tratados apenas os valores [1, 3, 9], vide os tipos opJusticaFederalopSecexRFB e opOutros.

 

// Enumeração para string
function OrigemProcessoToStr(AValue: TACBrOrigemProcesso): string;
begin
  if (AValue = opJusticaFederal) then
    Result := '1'
  else if (AValue = opSecexRFB) then
    Result := '3'
  else if (AValue = opOutros) then
    Result := '9'
  else
    Result := '';
end;

// string para enumeração
function StrToOrigemProcesso(const AValue: string): TACBrOrigemProcesso;
begin
  if AValue = '1' then
    Result := opJusticaFederal
  else if AValue = '3' then
    Result := opSecexRFB
  else if AValue = '9' then
    Result := opOutros
  else
    Result := opNenhum;
end;

/// Indicador da origem do processo
  TACBrOrigemProcesso = (opSefaz,            // 0 - Sefaz
                         opJusticaFederal,   // 1 - Justiça Federal
                         opJusticaEstadual,  // 2 - Justiça Estadual
                         opSecexRFB,         // 3 - Secex/RFB
                         opOutros,           // 9 - Outros
                         opNenhum           // Preencher vazio
                         );

Gostaria de saber se realmente são dessa forma as duas funções citadas ou se alguém teve também algum problema relacionado.

De momento vou fazer a conversão do valor a parte para não modificar fontes do ACBr.

Obrigado.

Leandro Araújo, Analista de Sistemas.

Link para o comentário
Compartilhar em outros sites

Boa tarde @Vicente Carletto Scalfoni, legal!
Estava aguardando uma confirmação para enviar alterações.

No caso deixei da seguinte forma, tendo que colocar na uses a "pcnConversao" claro, não sei se estaria misturando as coisas, mas só pra poder usar as funções "EnumeradoToStr/StrToEnumerado":

// Valores Indicador Origem Processo
const
  TACBrOrigemProcessoStr: array [0 .. 5] of string = ('0', '1', '2', '3', '9', '');

// ...

function OrigemProcessoToStr(AValue: TACBrOrigemProcesso): string;
begin
  Result := EmptyStr;
  Result := EnumeradoToStr(AValue, TACBrOrigemProcessoStr, [opSefaz, opJusticaFederal, opJusticaEstadual, opSecexRFB, opOutros,
    opNenhum]);
end;

function StrToOrigemProcesso(const AValue: string): TACBrOrigemProcesso;
var
  WOk: Boolean;
begin
  Result := opNenhum;
  Result := StrToEnumerado(WOk, AValue, TACBrOrigemProcessoStr, [opSefaz, opJusticaFederal, opJusticaEstadual, opSecexRFB,
    opOutros, opNenhum]);
end;

Mas no caso da sua correção, você manteve o padrão que jé tem nas funções da "ACBrEFDBlocos".

Só uma pergunta, vi que anexou também o arquivo "ACBrEFDBloco_G_Class.pas", qual foi a correção feita nele?

Obrigado!

Leandro Araújo, Analista de Sistemas.

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, Vicente Carletto Scalfoni disse:

No "ACBrEFDBloco_G_Class.pas" alterei o "G110" para usar a função "MovimentoBensToStr" que incluir no "ACBrEFDBlocos".

Certo, entendi.
Não vou anexar nada então, no caso ficam as alterações que você enviou mesmo, que engloba tudo.

Obrigado.

Editado por Leandro Araújo
Incremento de informação

Leandro Araújo, Analista de Sistemas.

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • Consultores
6 horas atrás, [email protected] disse:

Tem subir isso para os fontes do repositório
@BigWings

Vou avaliar.

 

  • Curtir 2

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Enviado ao SVN com alguma correção na revisão: 15842

Favor avaliar e reportar qualquer problema.

 

Em 06/09/2018 at 17:08, Vicente Carletto Scalfoni disse:

Boa tarde,

Fiz os ajustes no fonte do ACBr, se algum admin puder analisar e publicar no SVN.

Segue em anexo

ACBrEFDBloco_G_Class.pas

ACBrEFDBlocos.pas

Obrigado.

  • Curtir 2

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

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