Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3304 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Quando parametrizo a NFC-e para A4 (tpImp = 6) no xml está ficando DANFE NFC-E(TpImpToStr=4) porque estou usando a função "StrToTpImp". fui olhar o código dessa função e gostaria de saber se o valor da última posição esta correto?

 

function TpImpToStr(const t: TpcnTipoImpressao): string;
begin
//result := EnumeradoToStr(t, ['0', '1', '2', '3', '4', '5', '6'], // correto
  result := EnumeradoToStr(t, ['0', '1', '2', '3', '4', '5', '4'], // oficial
                              [tiSemGeracao, tiRetrato, tiPaisagem, tiSimplificado,
                               tiNFCe, tiMsgEletronica, tiNFCeA4]);
end;

function StrToTpImp(out ok: boolean; const s: string): TpcnTipoImpressao;
begin
//result := StrToEnumerado(ok, s, ['0', '1', '2', '3', '4', '5', '6'], // correto
  result := StrToEnumerado(ok, s, ['0', '1', '2', '3', '4', '5', '4'], // oficial
                                  [tiSemGeracao, tiRetrato, tiPaisagem, tiSimplificado,
                                   tiNFCe, tiMsgEletronica, tiNFCeA4]);
end;

  • Curtir 1
  • Consultores
Postado

Bom dia a todos,

Só tem um problema Juliomar, caso o desenvolvedor informe que o tipo de impressão será tiNFCeA4 tanto na configuração do DANFE quanto ao alimentar o componente:

DANFE.TipoDANFE := tiNFCeA4;

e

Ide.tpImp := tiNFCeA4;

A TAG tpImp será gerada com o valor 6 fazendo com que a nota não seja validada, uma vez que os valores permitidos para essa TAG vão de 0 até 5 conforme NT 2013/005 versão 1.22 - página 18

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Consultores
Postado

Boa tarde a todos,

Ao alimentar o componente só podemos usar dois valores possíveis se tratando da NFC-e são eles:

Ide.tpImp := tiNFCe ou tiMsgEletronica;

Desta forma a TAG tpImp vai conter o valor 4 ou 5, conforme consta na NT 2013/005 versão 1.22

Por outro lado a configuração do DANFE pode receber dois valores possíveis:

DANFE.TipoDANFE := tiNFCe ou tiNFCeA4;

Quando o valor for tiNFCe subentende que o DANFE será impresso em uma impressora de bobina, por outro lado o valor tiNFCeA4 diz ao componente que a impressão será realizada em um papel A4.

No meu entendimento uma coisa é a configuração do DANFE e outra coisa é o valor que será passado para o XML, portanto não se faz necessário termos dois tipos para indicar o tipo de impressão.

Posso muito bem gerar todos os meus XML - NFC-e com o valor 4 em tpImp, mas imprimir o DANFE em uma impressora Laser papel A4.

 

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Tudo bem Italo concordo com você. agora quando chamo StrToTpImp(bOkConv, '4') esta retornando tiNFCeA4 porque a função EnumeradoToStr na faz um break quando acha o valor.

e quando eu quiser usar a  StrToTpImp(bOkConv, '?') para retornar  tiNFCeA4 que valor informo no parâmetro?

  • Moderadores
Postado
8 horas atrás, Italo Jurisato Junior disse:

Bom dia a todos,

Só tem um problema Juliomar, caso o desenvolvedor informe que o tipo de impressão será tiNFCeA4 tanto na configuração do DANFE quanto ao alimentar o componente:

DANFE.TipoDANFE := tiNFCeA4;

e

Ide.tpImp := tiNFCeA4;

A TAG tpImp será gerada com o valor 6 fazendo com que a nota não seja validada, uma vez que os valores permitidos para essa TAG vão de 0 até 5 conforme NT 2013/005 versão 1.22 - página 18

Use :  DANFE.TipoDANFE := tiNFCeA4

Equipe ACBr Henrique Leonardo
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Tecnólogo em processamento de dados

E-mail [email protected] - Skype : hleorj

  • Este tópico foi criado há 3304 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.