Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • 1 mês depois ...
Postado
Em 17/06/2019 at 21:25, Italo Jurisato Junior disse:

O Manual deixa claro que o numero atribuído a cNF tem que ser um numero aleatório.

Bom dia,

gostaria de trocar mais uma ideia sobre o assunto, e também fazer uma sugestão/alternativa para preencher o campo cNF, baseado na hora atual, considerando minuto(nn), segundo(ss) e milisegundo(zzz):

Ide.cNF := StrToInt('7' + FormatDateTime('nnsszzz',Now()));
Ide.cNF := QRYDOCUMENTONUMERO.AsInteger;

Considerando que minuto(nn) e segundo(ss) só retornarão entre 00 e 59, essa máscara 'nnsszzz' nunca retornará '7777777', '8888888', '8901234' ou '9012345'...

Sim, ainda tem um "porém", existe a possibilidade de que este código gerado (entre 70000000 e 79999999) seja exatamente igual a nNF, assim seria necessário mais um teste:

if(Ide.cNF = Ide.nNF) then
begin
  Ide.cNF := StrToInt('8' + FormatDateTime('nnsszzz',Now()));
end;

Att

Ricardo

  • Consultores
Postado

Bom dia Ricardo,

A geração do código (cNF) recomendado pela SEFAZ é de que ele seja um numero aleatório.

Essa recomendação vem de longa data, não é de agora.

Lhe pergunto:

Qual é a dificuldade de gerar esse código usando a função GerarCodigoDFe que nós implementamos, que por sinal além de gerar o código já valida o mesmo?

Qual é a dificuldade de após gerar o mesmo salvar juntamente com os demais dados da nota?

Agora, quem desejar criar a sua própria rotina de geração de código, seja através de data, hora, data de aniversário fique a vontade.

  • Curtir 8
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

×
×
  • 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.