Skip to content

fix(danfe): imprimir a modalidade do frete por extenso no quadro do transportador - #1712

Open
ccaiolopes wants to merge 1 commit into
ZeusAutomacao:masterfrom
ccaiolopes:bugfix/danfe-modalidade-frete
Open

fix(danfe): imprimir a modalidade do frete por extenso no quadro do transportador#1712
ccaiolopes wants to merge 1 commit into
ZeusAutomacao:masterfrom
ccaiolopes:bugfix/danfe-modalidade-frete

Conversation

@ccaiolopes

Copy link
Copy Markdown

Descrição

O campo "FRETE POR CONTA", no quadro TRANSPORTADOR / VOLUMES TRANSPORTADOS do DANFE, deve exibir o código da modalidade do frete seguido do seu nome, conforme o Manual de Orientação do Contribuinte (tag transp/modFrete).

O dicionário TransportadoraViewModel.ModalidadesFrete já traz os nomes corretos, mas duas linhas logo abaixo dele, em ModalidadeFreteString, sobrescreviam as modalidades 0 e 1 pelos incoterms CIF e FOB:

result = $"{ModalidadeFrete}-{ModalidadesFrete[ModalidadeFrete]}";
if (ModalidadeFrete == 9) result = string.Empty;
if (ModalidadeFrete == 0) result = "0 - CIF";   // <- descarta "Por conta Remetente"
if (ModalidadeFrete == 1) result = "1 - FOB";   // <- descarta "Por conta Destinatário"

CIF e FOB são termos de comércio exterior; eles não descrevem quem paga o frete numa operação interna, e não é isso que o quadro do DANFE pede.

Comportamento atual

transp/modFrete Impresso
0 0 - CIF
1 1 - FOB

Comportamento esperado

transp/modFrete Impresso
0 0-Por conta Remetente
1 1-Por conta Destinatário

A mudança

Remoção das duas linhas de sobrescrita. As demais modalidades (2, 3, 4 e 9) e o caminho de código desconhecido (({ModalidadeFrete})) não mudam. Foi acrescentada a documentação XML da propriedade.

Como reproduzir

Gerar o DANFE de qualquer nfeProc cujo transp/modFrete seja 0 ou 1 e observar o campo FRETE POR CONTA.

Testes

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

…ransportador

O campo "FRETE POR CONTA" do quadro "TRANSPORTADOR / VOLUMES TRANSPORTADOS"
deve trazer o código da modalidade seguido do seu nome, conforme o Manual de
Orientação do Contribuinte. O dicionário ModalidadesFrete já traz esses nomes,
mas duas linhas em ModalidadeFreteString substituíam as modalidades 0 e 1 pelos
incoterms "CIF" e "FOB" — que são termos de comércio exterior e não descrevem
quem paga o frete numa operação interna.

Com a remoção, modFrete=0 passa a imprimir "0-Por conta Remetente" e modFrete=1
passa a imprimir "1-Por conta Destinatário". As demais modalidades (2, 3, 4 e 9)
não mudam.
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