Estava com problema no envio de NFe de devolução em meus clientes na versão 4.0, eu preenchia o campo no componente mas não estava enviando as informações de ipi de devolução no xml, debugando o componente achei o ponto que não repassava o valor para o XML, alterei aqui no componente e gostaria de sugerir essa correção, para que em novas versões possa sair isso corrigido para o caso de mais alguém precisar. Segue abaixo parte do fonte onde alterei aqui e funcionou.
dentro da pasta Fontes\ACBrDFe\ACBrNFe\PCNNFe
no arquivo pcnNFe.pas
na procedure TICMSTot.Assign(Source: TPersistent);
estava assim:
if Source is TICMSTot then
begin
vBC := TICMSTot(Source).vBC;
vICMS := TICMSTot(Source).vICMS;
vICMSDeson := TICMSTot(Source).vICMSDeson;
vFCPUFDest := TICMSTot(Source).vFCPUFDest;
vICMSUFDest := TICMSTot(Source).vICMSUFDest;
vICMSUFRemet := TICMSTot(Source).vICMSUFRemet;
vBCST := TICMSTot(Source).vBCST;
vST := TICMSTot(Source).vST;
vProd := TICMSTot(Source).vProd;
vFrete := TICMSTot(Source).vFrete;
vSeg := TICMSTot(Source).vSeg;
vDesc := TICMSTot(Source).vDesc;
vII := TICMSTot(Source).vII;
vIPI := TICMSTot(Source).vIPI;
vPIS := TICMSTot(Source).vPIS;
vCOFINS := TICMSTot(Source).vCOFINS;
vOutro := TICMSTot(Source).vOutro;
vNF := TICMSTot(Source).vNF;
vTotTrib := TICMSTot(Source).vTotTrib;
vFCP := TICMSTot(Source).vFCP;
vFCPST := TICMSTot(Source).vFCPST;
vFCPSTRet := TICMSTot(Source).vFCPSTRet;
end
else
inherited;
e deixei assim:
if Source is TICMSTot then
begin
vBC := TICMSTot(Source).vBC;
vICMS := TICMSTot(Source).vICMS;
vICMSDeson := TICMSTot(Source).vICMSDeson;
vFCPUFDest := TICMSTot(Source).vFCPUFDest;
vICMSUFDest := TICMSTot(Source).vICMSUFDest;
vICMSUFRemet := TICMSTot(Source).vICMSUFRemet;
vBCST := TICMSTot(Source).vBCST;
vST := TICMSTot(Source).vST;
vProd := TICMSTot(Source).vProd;
vFrete := TICMSTot(Source).vFrete;
vSeg := TICMSTot(Source).vSeg;
vDesc := TICMSTot(Source).vDesc;
vII := TICMSTot(Source).vII;
vIPI := TICMSTot(Source).vIPI;
vIPIDevol := TICMSTot(Source).vIPIDevol;
vPIS := TICMSTot(Source).vPIS;
vCOFINS := TICMSTot(Source).vCOFINS;
vOutro := TICMSTot(Source).vOutro;
vNF := TICMSTot(Source).vNF;
vTotTrib := TICMSTot(Source).vTotTrib;
vFCP := TICMSTot(Source).vFCP;
vFCPST := TICMSTot(Source).vFCPST;
vFCPSTRet := TICMSTot(Source).vFCPSTRet;
end
else
inherited;
pcnNFe.pas