Bom dia,
Como solicitado, estou enviando em anexo alterações que permitem a impressão na DANFE da NFe (Fast e Fortes) das duas unidades de medida (comercial e tributável), quando as mesmas são diferentes, assim como é feito no Emissor Gratuito da Sefaz SP.
Os fontes estão atualizados com a versão de hoje (18/11/2016), utilizando o Fortes 4.0 e Fast 5.4.3.
Foram alterados os arquivos:
Fontes/PCNComum/pcnConversao.pas
Criado o tipo "TImprimirUnidQtdeValor" com as opções:
iuComercial (impressão apenas das informações comerciais)
iuTributavel (impressão apenas das informações tributáveis)
iuComercialETributavel (impressão apenas das informações comerciais e tributáveis)
Exemplos/ACBrDFe/ACBrNFe/Delphi/Report/DANFePaisagem.fr3
Exemplos/ACBrDFe/ACBrNFe/Delphi/Report/DANFeRetrato.fr3
Exemplos/ACBrDFe/ACBrNFe/Delphi/Report/DANFeRetratoNovo.fr3
Alterado nos campos Unidade, Valor Unitario e Quantidade a propriedade WordWrap para True, para permitir que seu valor tenha mais de 1 linha (servirá para imprimir os dados da unidade comercial na primeira linha e da tributável na segunda linha).
No arquivo DanfePaisagem.fr3 foi corrigido os campos Unidade, Qtde e Valor Unitário que estavam sempre retornando os valores da unidade tributável.
Fontes/ACBrDFe/ACBrNFe/DANFE/ACBrNFeDANFEClass.pas
Foram criados 3 funções formatar a Unidade de Medida, Quantidade e Valor Unitário quando utilizada a impressão da unidade comercial e tributada.
Fontes/ACBrDFe/ACBrNFe/DANFE/NFe/Fast/ACBrNFeDANFEFR.pas
O tipo da propriedade "ImprimirUnQtVlComercial" for alterada de "boolean" para "TImprimirUnidQtdeValor" (pcnConversao.pas) e inicializada por padrão como "iuTributavel".
Fontes/ACBrDFe/ACBrNFe/DANFE/NFe/Fast/ACBrNFeDANFEFRDM.pas
O tipo da propriedade "ImprimirUnQtVlComercial" for alterada de "boolean" para "TImprimirUnidQtdeValor" (pcnConversao.pas).
A rotina "CarregaDadosProdutos" foi alterada para contemplar a alteração da propriedade "ImprimirUnQtVlComercial".
Fontes/ACBrDFe/ACBrNFe/DANFE/NFe/Fortes/ACBrNFeDANFeRLClass.pas
Criada a propriedade "ImprimirUnQtVlComercial: TImprimirUnidQtdeValor" (pcnConversao.pas) e inicializada por padrão como "iuTributavel".
Fontes/ACBrDFe/ACBrNFe/DANFE/NFe/Fortes/ACBrNFeDANFeRLPaisagem.dfm
Fontes/ACBrDFe/ACBrNFe/DANFE/NFe/Fortes/ACBrNFeDANFeRLPaisagem.pas
Fontes/ACBrDFe/ACBrNFe/DANFE/NFe/Fortes/ACBrNFeDANFeRLRetrato.dfm
Fontes/ACBrDFe/ACBrNFe/DANFE/NFe/Fortes/ACBrNFeDANFeRLRetrato.pas
Alterados os componentes dos objetos txtUnidade, txtQuantidade e txtValorUnitario de "TRLLabel" para "TRLMemo".
A rotina "rlbItensBeforePrint" foi alterada para contemplar a alteração da propriedade "ImprimirUnQtVlComercial". Anteriormente estava fixo a impressão apenas das informações comerciais.
Arquivos de exemplo
Fast-DANFePaisagem.pdf
Fast-DANFeRetrato.pdf
Fast-DANFeRetratoNovo.pdf
Fortes-DANFePaisagem.pdf
Fortes-DANFeRetrato.pdf
acbr3.zip