Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado (editado)

Olá Tudo Bem

Por Favor Não está saindo a hora de saída no danfe e nem no xml, uso o delphi 2010 versão da nfe 3.10 e uso o fortes report pra emitir o danfe.

Testei na nfe 4.0 e também não saiu a hora da saída.

Estou preenchendo os seguintes campos:

Ide.dEmi:=IBQnf_nfe.FieldByName('NOTEMISSAO').AsDateTime; 

Ide.dSaiEnt:=IBQnf_nfe.FieldByName('NOTDTENTSAI').AsDateTime;

Ide.hSaiEnt   := IBQnf_nfe.FieldByName('NOTHORA').AsDateTime;

Seguindo o exemplo acbrnfe.

Mas não está saindo na impressão e no xml a hora.

Outro detalhe no manual o nome do campo pra informar data e hora  é: dhSaiEnt .

No arquivo xml e esse mesmo nome dhSaiEnt  e nele a data sia mas a hora esta zerada.

Mudei pra now no campo hSaiEnt mas continua sem sair a hora. A nota valida normalmente mas não sai a hora e tem um cliente que emitiu uma nota e o destinatairo desse nota exigi a hora de saída.

Por Favor gostaria de saber se tem algum outro campo que tenho que informar pra sair a hora de saída? Ou tenho que informar no campo da data também a hora?

Desde já Muito Obrigado pela Atenção!!

 

Editado por Mauricio Elias
  • Moderadores
Postado
36 minutos atrás, Mauricio Elias disse:

Ide.dEmi:=IBQnf_nfe.FieldByName('NOTEMISSAO').AsDateTime; 

Ide.dSaiEnt:=IBQnf_nfe.FieldByName('NOTDTENTSAI').AsDateTime;

Ide.hSaiEnt   := IBQnf_nfe.FieldByName('NOTHORA').AsDateTime;

A tag hSaiEnt foi removida na NFe 2.00, sendo incluídas as tags dhSaiEnt e dhEmi.

Por compatibilidade, no ACBr foram mantidos os nomes das propriedades como dSaiEnt e dEmi. Sendo do tipo TDateTime, você deve informar nelas a data e hora da saída e emissão, respectivamente.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Fundadores
  • Solution
Postado

Aparentemente a diferença do nome dos campos,  é devido ao antigo layout da versão 2.0...

Observe na classe de geração, que para a versão 3 ou superior, apenas o nfe.ide.dSaiEnt é utilizado

  if nfe.infNFe.Versao >= 3 then
   begin
     Gerador.wCampo(tcStr, 'B09', 'dhEmi   ', 25, 25, 1, DateTimeTodh(nfe.ide.dEmi) + GetUTC(CodigoParaUF(nfe.ide.cUF), nfe.ide.dEmi), DSC_DEMI);

     if (nfe.ide.modelo = 55) and (nfe.ide.dSaiEnt <> 0) then
       Gerador.wCampo(tcStr, 'B10', 'dhSaiEnt', 25, 25, 0, DateTimeTodh(nfe.ide.dSaiEnt) + GetUTC(CodigoParaUF(nfe.ide.cUF), nfe.ide.dSaiEnt), DSC_DSAIENT);
   end
  else
   begin
     Gerador.wCampo(tcDat, 'B09', 'dEmi   ', 10, 10, 1, nfe.ide.dEmi, DSC_DEMI);
     Gerador.wCampo(tcDat, 'B10', 'dSaiEnt', 10, 10, 0, nfe.ide.dSaiEnt, DSC_DSAIENT);
     if nfe.Ide.dSaiEnt>0 then
       Gerador.wCampo(tcHor, 'B10a','hSaiEnt', 08, 08, 0, nfe.ide.hSaiEnt, DSC_HSAIENT);
   end;

Tente a seguinte modificação no seu código de atribuição

 Ide.dSaiEnt:=IBQnf_nfe.FieldByName('NOTDTENTSAI').AsDateTime + IBQnf_nfe.FieldByName('NOTHORA').AsDateTime;

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado
15 horas atrás, BigWings disse:

A tag hSaiEnt foi removida na NFe 2.00, sendo incluídas as tags dhSaiEnt e dhEmi.

Por compatibilidade, no ACBr foram mantidos os nomes das propriedades como dSaiEnt e dEmi. Sendo do tipo TDateTime, você deve informar nelas a data e hora da saída e emissão, respectivamente.

 

15 horas atrás, Daniel Simoes disse:

Aparentemente a diferença do nome dos campos,  é devido ao antigo layout da versão 2.0...

Observe na classe de geração, que para a versão 3 ou superior, apenas o nfe.ide.dSaiEnt é utilizado


  if nfe.infNFe.Versao >= 3 then
   begin
     Gerador.wCampo(tcStr, 'B09', 'dhEmi   ', 25, 25, 1, DateTimeTodh(nfe.ide.dEmi) + GetUTC(CodigoParaUF(nfe.ide.cUF), nfe.ide.dEmi), DSC_DEMI);

     if (nfe.ide.modelo = 55) and (nfe.ide.dSaiEnt <> 0) then
       Gerador.wCampo(tcStr, 'B10', 'dhSaiEnt', 25, 25, 0, DateTimeTodh(nfe.ide.dSaiEnt) + GetUTC(CodigoParaUF(nfe.ide.cUF), nfe.ide.dSaiEnt), DSC_DSAIENT);
   end
  else
   begin
     Gerador.wCampo(tcDat, 'B09', 'dEmi   ', 10, 10, 1, nfe.ide.dEmi, DSC_DEMI);
     Gerador.wCampo(tcDat, 'B10', 'dSaiEnt', 10, 10, 0, nfe.ide.dSaiEnt, DSC_DSAIENT);
     if nfe.Ide.dSaiEnt>0 then
       Gerador.wCampo(tcHor, 'B10a','hSaiEnt', 08, 08, 0, nfe.ide.hSaiEnt, DSC_HSAIENT);
   end;

Tente a seguinte modificação no seu código de atribuição


 Ide.dSaiEnt:=IBQnf_nfe.FieldByName('NOTDTENTSAI').AsDateTime + IBQnf_nfe.FieldByName('NOTHORA').AsDateTime;

 

Bom Dia 

Obrigado BigWings e Daniel!!

Era isso mesmo informar a data e a hora no campo dSaiEnt, informei nele como Daniel indicou cirurgicamente ae funcionou. Como eu informava antes a hora so no campo hsaient ae não aparecia e como eu não tinha percebido que não tava saindo e nenhum cliente havia notado antes ae passo batido o campo hora.

Mas ta resolvido Muito Obrigado pela ajuda!!

Obrigado!!!!!

  • Curtir 1
  • Este tópico foi criado há 2344 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.