Ir para conteúdo
  • Cadastre-se

dev botao

ResponsavelRetencaoToStr NFSeX Abrasf v2


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

Recommended Posts

  • Consultores

Boa noite,

Não entendi o motivo de reescrever a função?

Qual a diferença entre:

function TACBrNFSeXProvider.ResponsavelRetencaoToStr(const t: TnfseResponsavelRetencao): string;
begin
  Result := EnumeradoToStr(t,
                           ['1', '', '2', ''],
                           [rtTomador, rtPrestador, rtIntermediario, rtNenhum]);
end;

e

function TACBrNFSeProviderABRASFv2.ResponsavelRetencaoToStr(const t: TnfseResponsavelRetencao): string;
begin
   Result := EnumeradoToStr(t, ['', '1', '2'], [rtNenhum, rtTomador, rtIntermediario]);
end;

A primeira se encontra na unit ACBrNFSeXProviderBase e garante que somente retorne os valores 1 e 2 se for informado rtTomador ou rtIntermediario.

Na sua implementação o que vai ocorrer se for informado o valor rtPrestador?

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

  • Membros Pro

Bom dia,

Não sei o que ocorreu dentro do componente, mas o que eu recebi de volta dessa função sem alterar nada era uma string vazia da forma que postei com um print no discord.

Se essa função já existe então tem algo errado ai que não foi chamado, porque só apenas após eu adicionar esse fonte que na montagem do XML foi retornado um valor.

Se precisar posso remover o que eu fiz e fazer o mesmo processo novamente.

Na sua implementação o que vai ocorrer se for informado o valor rtPrestador? 

No caso que foi pego do cliente o valor do responsável foi de valor 1.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Acabei de realizar um teste usando o programa exemplo e a tag <ResponsavelRetencao> foi gerada com o valor 1 ao atribuir o valor rtTomador ao campo: Servico.ResponsavelRetencao.

Detalhe importante a tag só é gerada se o valor de IssRetido for diferente de stNormal.

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

  • Membros Pro

Está certo, o problema é que tentei dar o cast usando o enumerado depois que foi removido a função nas atualizações que fui fazendo do fonte.
 

TnfseResponsavelRetencao = (rtTomador, rtPrestador, rtIntermediario, rtNenhum);

Como no meu arquivo que eu gero eu mando que é o valor 1, ao tentar dar o cast ele pegou o errado.

Manualmente informando o valor no Servico.ResponsavelRetencao gerou corretamente.

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

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

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