Skip to content

feat(danfe): permitir exibir infAdFisco e o e-mail do destinatário nas informações complementares - #1714

Open
ccaiolopes wants to merge 1 commit into
ZeusAutomacao:masterfrom
ccaiolopes:feature/danfe-informacoes-complementares-opcionais
Open

feat(danfe): permitir exibir infAdFisco e o e-mail do destinatário nas informações complementares#1714
ccaiolopes wants to merge 1 commit into
ZeusAutomacao:masterfrom
ccaiolopes:feature/danfe-informacoes-complementares-opcionais

Conversation

@ccaiolopes

Copy link
Copy Markdown

Descrição

O quadro "Informações Complementares" do DANFE imprime hoje apenas o conteúdo da tag infAdic/infCpl. Duas outras informações do mesmo grupo do leiaute — infAdic/infAdFisco (informações adicionais de interesse do Fisco) e dest/email — são levadas a esse quadro por outros geradores de DANFE, e o bloco que fazia exatamente isso já existe no DanfeViewModel.TextoAdicional(), comentado:

/*if (!string.IsNullOrEmpty(Destinatario.Email))
{
    var destEmail = Regex.Replace(Destinatario.Email, @"(?<=\S)([,;])(?=\S)", "$1 ").Trim(new char[] { ' ', ',', ';' });
    sb.AppendChaveValor("Email do Destinatário", destEmail);
}

if (!string.IsNullOrEmpty(InformacoesAdicionaisFisco))
    sb.AppendChaveValor("Inf. fisco", InformacoesAdicionaisFisco);

Na prática, uma nota cujo texto está só em infAdFisco (caso comum quando o texto cita legislação) sai hoje com o quadro vazio, mesmo com a informação presente no XML.

Comportamento atual

infAdFisco e dest/email nunca são impressos, e não há como pedi-los.

Comportamento esperado

Quem precisa dos dois campos consegue exibi-los; quem não precisa não é afetado.

A mudança

Duas opções de exibição novas em DanfeViewModel, na região "Opções de exibição", desligadas por padrão — ou seja, nenhuma mudança no impresso de quem já usa a biblioteca:

Propriedade Padrão Efeito quando true
ExibirEmailDestinatario false acrescenta Email do Destinatário: ... (tag dest/email)
ExibirInformacoesAdicionaisFisco false acrescenta Inf. fisco: ... (tag infAdic/infAdFisco)

O bloco comentado volta guardado por essas opções, com o acesso a Destinatario protegido contra nulo. Os demais trechos comentados do método (Pedido, Contrato, Nota de Empenho e o bloco da NT 2013.003) seguem exatamente como estavam — ficam fora deste PR de propósito, para manter a mudança focada.

Uso:

var model = DanfeViewModel.CreateFromXmlFile(caminho);
model.ExibirInformacoesAdicionaisFisco = true;
model.ExibirEmailDestinatario = true;

Testes

dotnet build NFe.Danfe.PdfClown/NFe.Danfe.PdfClown.csproj -c Release — compila nos dois alvos (netstandard2.0 e net6.0), sem novos avisos.

Conferência do impresso com uma NF-e sintética cujo texto adicional está apenas em infAdFisco e cujo destinatário tem email: com as opções desligadas, o PDF sai byte a byte igual ao do master; ligando-as, o quadro passa a trazer Email do Destinatário: ... e Inf. fisco: ....

…s informações complementares

O quadro "Informações Complementares" do DANFE imprime hoje apenas a tag infCpl.
As tags infAdFisco (informações adicionais de interesse do Fisco) e dest/email
são levadas ao mesmo quadro por outros geradores de DANFE, e o bloco que fazia
isso já existia no TextoAdicional() — comentado.

Ele volta, agora sob duas opções de exibição desligadas por padrão:
ExibirEmailDestinatario e ExibirInformacoesAdicionaisFisco. Quem já usa a
biblioteca não vê diferença no impresso; quem precisa dos dois campos liga a
opção correspondente no DanfeViewModel.

O acesso a Destinatario passou a ser protegido contra nulo, e os demais trechos
comentados do método (Pedido, Contrato, Nota de Empenho) seguem como estavam.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant