RenatoE Posted December 30, 2024 Posted December 30, 2024 Prezados, Estou realizando a implementação dos campos hashCSRT e IDCSRT referentes ao responsável técnico na NF-e e NFC-e. No entanto, observei que o código está buscando os valores de uma origem incorreta. Atualmente, os valores estão sendo obtidos do módulo pcnNFeW, quando o correto seria buscá-los no módulo pcnNFe. ACBr O correto seria: Att, Renato
Fundadores Daniel Simoes Posted December 30, 2024 Fundadores Posted December 30, 2024 Obrigado pela contribuição @Italo Giurizzato Junior, pode por favor analisar ? Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Moderadores BigWings Posted December 30, 2024 Moderadores Posted December 30, 2024 O código atual está correto e funcionando. Você não precisa informar o hashCSRT ao alimentar o componente, o componente calcula o hashCSRT com base no CSRT e IdCSRT informados. 2 BigWingsAjude o Projeto ACBr crescer - Assine o SAC
RenatoE Posted December 30, 2024 Author Posted December 30, 2024 @BigWings confirmar se a implementação correta dos campos IdCSRT e hashCSRT não seria dentro da classe TinfRespTec. Por exemplo: ACBrNotaFiscal.NFe.infRespTec.CNPJ := 1234001010200; ACBrNotaFiscal.NFe.infRespTec.xContato := 'Pedro II'; ACBrNotaFiscal.NFe.infRespTec.idCSRT := 1; ACBrNotaFiscal.NFe.infRespTec.hashCSRT := '432478392dfhdjsfhds'; Notei que o campo hashCSRT está sendo atribuído corretamente. Contudo, os campos IdCSRT e hashCSRT estão sendo utilizados em classes diferentes, o que pode gerar inconsistências. Acredito que o correto seria mantê-los na mesma classe (TinfRespTec) para garantir a integridade e coerência das informações. Att, Renato
RenatoE Posted December 30, 2024 Author Posted December 30, 2024 (edited) @BigWings @Daniel Simoes @Italo Giurizzato Junior Preenchido o componente ACBrNotaFiscal.NFe.infRespTec.CNPJ := 1234001010200; ACBrNotaFiscal.NFe.infRespTec.xContato := 'Pedro II'; ACBrNotaFiscal.NFe.infRespTec.idCSRT := 1; ACBrNotaFiscal.NFe.infRespTec.hashCSRT := '432478392dfhdjsfhds'; -------------------------------------- procedure TNFeW.GerarinfRespTec; begin if (idCSRT <> 0) and (CSRT <> '') then -> utilizar if (NFe.infRespTec.idCSRT <> 0) and (NFe.infRespTec.hashCSRT <> '') then begin Gerador.wCampo(tcInt, '#086', 'idCSRT ', 02, 02, 1, idCSRT, DSC_IDCSRT); -> NFe.infRespTec.idCSRT Gerador.wCampo(tcStr, '#087', 'hashCSRT', 28, 28, 1, CalcularHashCSRT(CSRT, FChaveNFe), DSC_HASHCSRT); -> NFe.infRespTec.hashCSRT end; end; end; Ao chegar no método TNFeW.GerarinfRespTec, o campo idCSRT permanece zerado, uma vez que o valor está sendo obtido de outra classe. Contudo, ao ajustar para utilizar NFe.infRespTec.idCSRT, o valor é preenchido corretamente, já que está sendo atribuído diretamente ao local correto. Edited December 30, 2024 by RenatoE Att, Renato
Moderadores Solution BigWings Posted December 30, 2024 Moderadores Solution Posted December 30, 2024 5 minutos atrás, RenatoE disse: Preenchido o componente ACBrNotaFiscal.NFe.infRespTec.CNPJ := 1234001010200; ACBrNotaFiscal.NFe.infRespTec.xContato := 'Pedro II'; ACBrNotaFiscal.NFe.infRespTec.idCSRT := 1; ACBrNotaFiscal.NFe.infRespTec.hashCSRT := '432478392dfhdjsfhds'; Faça assim: ACBrNFe1.Configuracoes.RespTec.IdCSRT := 1; ACBrNFe1.Configuracoes.RespTec.CSRT := '123456789...'; E na geração da nota: ACBrNFe1.NotasFiscais[0].NFe.infRespTec.CNPJ := 1234001010200; ... Já será calculado o hash e gerado no XML. 2 BigWingsAjude o Projeto ACBr crescer - Assine o SAC
RenatoE Posted December 30, 2024 Author Posted December 30, 2024 @BigWings Valeu pela ajuda, Muito Obrigado! Att, Renato
Moderadores BigWings Posted December 30, 2024 Moderadores Posted December 30, 2024 Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. BigWingsAjude o Projeto ACBr crescer - Assine o SAC
Recommended Posts