Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde, esse é meu primeiro tópico, espero que esteja no local correto.

  Há muitos anos cursei Delphi e estou voltando aos poucos para o desenvolvimento, então desde já, estou com conhecimento limitado.

  Adquiri um Fonte para ir finalizando e tento maior contato novamente e me deparei com a seguinte situação:

  A hora está duplicada em Série e em Data de autorização. Já vasculhei a parte fiscal e até agora não consegui um norte para encontrar esse erro.

  O ACBr está atualizando, bem como o Fortes. O layout do Fortes está correto, não duplicidade de código. Um detalhe muito importante é que o XML está correto, não há nenhum erro em sua emissão, está autorizando normal e todas as tags obrigatórias estão atendidas.

  Alguém poderia me dizer pelo menos um caminho onde devo procurar ? Visto que está gerando normal o XML e o layout não está errado. Desde já agradeço.

  Anexo da Danfe.

Hora Duplicada.jpeg

  • Moderadores
Postado

Desconheço seus fontes mas a partir do exemplo do svn tu consegue ter um norte.

geralmente é dados diferentes, hora etc. que fazem dar a duplicidade. então pegue o xml da duplicidade e tente baixar o xml do sefaz pra tu ver a diferença

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Amigo, primeiramente obrigado pela resposta.

  Como havia dito, o XML está correto, NFC-e e NFe estão implementados, apenas a DANFE da NFC-e que está com esse problema.

  Dei mais uma vasculhada e descobri o que está acontecendo, porém ainda não sei como resolver.

  Na hora de ir buscar o dados, ele está buscando em pcnProcNFe, então ele busca tanto a data/hora de autorização de emissão quanto de autorização; segue o código.

 

if not EstaVazio(Trim(procNFe.nProt)) then
      begin
        lProtocolo.Visible := True;
        lProtocolo.Caption := ACBrStr('Protocolo de Autorização: '+procNFe.nProt);
        if (procNFe.dhRecbto<>0) then
        begin
          lDataAutorizacao.Visible := True;
          lDataAutorizacao.Caption := ACBrStr('Data de Autorização ' +DateTimeToStr(procNFe.dhRecbto));
        end
        else
          lDataAutorizacao.Visible := False;
      end
      else
      begin
        lProtocolo.Caption := '';
        lProtocolo.Visible := False;
        lDataAutorizacao.Caption := '';
        lDataAutorizacao.Visible := False;
      end;

 

Acontece que lá está assim;

'<dhRecbto>' + FormatDateTime('yyyy-mm-dd"T"hh:nn:ss', FdhRecbto) + IIf(Versao >= '3.10', GetUTC(xUF,FdhRecbto),'')+'</dhRecbto>'+

 

Então acredito que na hora de transformar em String, tá ficando essa embolada. Como poderia corrigir essas datas ?

Já modifiquei para DateToString e fica do mesmo jeito. Tentei TimeToString e a hora veio correta, porém sem a data.

 

Desde já, obrigado mais uma vez.

  • Moderadores
Postado

Pode ser a configuração geral do formato de data e hora do Windows, já verificou?

O problema só acontece na impressão da NFCe?

 

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

Projeto ACBr

 

 

Postado
7 horas atrás, BigWings disse:

Pode ser a configuração geral do formato de data e hora do Windows, já verificou?

O problema só acontece na impressão da NFCe?

 

Então amigo, obrigado pela resposta.

A NFe está ok, sai correto. Esse problema está sendo só na NFCe.

Se eu usar apenas TimeToStr a hora sai correta. Se eu usar DateToStr sai "Corretamente", porém na hora sai um 24 misturado. Se usar DateTimeToStr sai aquela bagunça. Vou anexar as imagens.

 

WhatsApp Image 2021-01-11 at 16.40.17 (1).jpeg

WhatsApp Image 2021-01-11 at 16.40.17.jpeg

  • Moderadores
Postado

Mas você verificou as configurações do Windows?

Se você chamar o DateTimeToStr(Now) em um projeto novo, qual o retorno?

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

Projeto ACBr

 

 

Postado (editado)
23 minutos atrás, BigWings disse:

Mas você verificou as configurações do Windows?

Se você chamar o DateTimeToStr(Now) em um projeto novo, qual o retorno?

Verifiquei sim amigo, tanto na maquina virtual quanto nas minhas maquinas aqui, estou testando em 3 maquinas físicas.

Ele retorna 11/01/2021 17:14:45

WhatsApp Image 2021-01-11 at 17.17.33.jpeg

Editado por Armando Soares da Silva
  • Moderadores
Postado

Como você mesmo viu no código do DANFE só é chamada a DateTimeToStr(), é uma função nativa do Delphi/Lazarus.

Tente imprimir o DANFE NFCe pelo programa exemplo do componente.

Se sair correto significa que é algo no seu projeto que está interferindo.

Aí vai precisar depurar.

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

Projeto ACBr

 

 

  • Solution
Postado
2 horas atrás, BigWings disse:

Como você mesmo viu no código do DANFE só é chamada a DateTimeToStr(), é uma função nativa do Delphi/Lazarus.

Tente imprimir o DANFE NFCe pelo programa exemplo do componente.

Se sair correto significa que é algo no seu projeto que está interferindo.

Aí vai precisar depurar.

Amigo, agradeço sua ajuda. Confesso que já estava pensando em desistir, faz uma semana que rodo todo esse fonte em busca desse erro, e graças a Deus encontrei e corrigi.

Pode encerrar o tópico.

Aproveitando o post, virão algumas atualizações por parte da Sefaz, como Ator Interessado. Terei muitos problemas na implementação dos mesmos, visto que não tenho tanta experiência e estou tendo que reaprender tudo novamente ?

 

WhatsApp Image 2021-01-11 at 20.29.14.jpeg

  • Este tópico foi criado há 1412 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.