Ir para conteúdo
  • Cadastre-se

dev botao

Lote do evento


Ver Solução Respondido por Renato Rubinho,
  • Este tópico foi criado há 813 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Consultores

De acordo com a NT2012_002 v1.02, o campo HP03 idLote é de responsabilidade do autor e "O Web Service não faz qualquer uso ou controle deste identificador."

https://svn.code.sf.net/p/acbr/code/tools/DFe/NFeNFCe/NT/2012/NFe_NT2012_002 v1.02 Manifestacao do Destinatario.pdf

 

Link para o comentário
Compartilhar em outros sites

9 minutos atrás, Renato Rubinho disse:

De acordo com a NT2012_002 v1.02, o campo HP03 idLote é de responsabilidade do autor e "O Web Service não faz qualquer uso ou controle deste identificador."

https://svn.code.sf.net/p/acbr/code/tools/DFe/NFeNFCe/NT/2012/NFe_NT2012_002 v1.02 Manifestacao do Destinatario.pdf

 

Teria algum problema de ir sempre o mesmo numero de Lote?

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
Em 09/11/2021 at 16:58, Renato Rubinho disse:

De acordo com a NT, não teria problema pois não validam.

Eu mando yymmddhhnn + um random por via das dúvidas.

Boa tarde @Renato Rubinho,

 

Utilizamos aqui na empresa quase o mesmo esquema seu, para gerar o número do lote fazemos yymmddhhmm. A única diferença é que não acrescentamos esse random ao final. Porém hoje 03/01/2022, começamos a ter problemas com a conversão para inteiro no ACBr em Delphi. A assinatura da função é Integer, porém ao converter de manhã após virar o ano, gerou o número 2201031127 (2.201.031.127). Porém o limite máximo do Inteiro é 2.147.483.647, sendo assim apresentou o erro:

 

image.png.982e794f9359d513f36981c0ef3462f8.png 

 

Você não chegou a ter esse problema no seu sistema ?

 

Se sim, qual estratégia utilizou para solucionar ? Estamos verificando o manual da NF-e, etc, mas não conseguimos encontrar um lugar onde pudéssemos ter a certeza que não haveria problema nesse número repetir. 

 

Att,

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite,

Seguem considerações.

1. Costumo usar StrToIntDef, com isso o sistema não parou com o estouro de valor.

2. O texto que citei neste tópico foi extraído da NT e nos dá segurança de que não há problema em repetir o número por enquanto.

Em 09/11/2021 at 16:45, Renato Rubinho disse:

 

 

 

Em 09/11/2021 at 16:45, Renato Rubinho disse:

De acordo com a NT2012_002 v1.02, o campo HP03 idLote é de responsabilidade do autor e "O Web Service não faz qualquer uso ou controle deste identificador."

https://svn.code.sf.net/p/acbr/code/tools/DFe/NFeNFCe/NT/2012/NFe_NT2012_002 v1.02 Manifestacao do Destinatario.pdf

 

3. Uma solução para não repetir o lote, caso ainda não tenham, é colocar um contador sequencial autoinc gerenciado pelo seu sistema, iniciado em zero.

Se eu pensar em algo quando for ver isso, posto aqui.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Bom dia a todos,

 

Para corrigir o problema. Adotamos a seguinte estratégia aqui na empresa. Antes usavamos a seguinte formatação: yymmddhhmm.

Esse formatação gerava um número de 10 posições que começou a apresentar o problema em questão pelo estouro do inteiro. Então fizemos a substituição mmdd (mês e dia) que ocupava 4 posições, pelo número do dia real no ano, que irá variar de 001 a 365, tendo somente 3 posições. Sendo assim não irá mais atingir a casa do bilhão.

Pegando como exemplo hoje 04/01/2022 às 09:44:

Antes:  2201040944

Depois:  220040944

Att,

Editado por danielznt
  • Curtir 3
Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Dfox disse:

uma outra solução  

NumeroLote := StrToInt64(FormatDateTime('yymmddhhmm', NOW));

Tentamos essa solução, porém na variável fica correto, mas hora de atribuir ao componente, o mesmo é do tipo Integer e ai o problema também foi apresentando (não sei o motivo mas em alguns casos até funcionou, porém gerando lote negativo). 

Link para o comentário
Compartilhar em outros sites

  • Consultores
3 horas atrás, danielznt disse:

Bom dia a todos,

 

Para corrigir o problema. Adotamos a seguinte estratégia aqui na empresa. Antes usavamos a seguinte formatação: yymmddhhmm.

Esse formatação gerava um número de 10 posições que começou a apresentar o problema em questão pelo estouro do inteiro. Então fizemos a substituição mmdd (mês e dia) que ocupava 4 posições, pelo número do dia real no ano, que irá variar de 001 a 365, tendo somente 3 posições. Sendo assim não irá mais atingir a casa do bilhão.

Pegando como exemplo hoje 04/01/2022 às 09:44:

Antes:  2201040944

Depois:  220040944

Att,

Boa opção, só o "n" para minutos ao invés de "m", tenho visto muitas pessoas utilizando o "m", que repetiria o mês.

Outras duas alternativas para quem quiser:

1. Trunc( now * 10000 )

vai pegar o datetime em ponto flutante até os 9 dígitos sem chegar no bilhão também

2. mmyyddhhnn

com o Mês no início, o primeiro dígito sempre será 1, não estourando o limite do integer.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Por favor atualize seus fontes, pelo SVN do ACBr... 

Já subimos para o nosso repositório de fontes, modificações que podem corrigir algum dos itens referentes a esse tópico...

Por favor atualize seus fontes, faça testes, e se possível comente em uma nova resposta, se o problema foi resolvido...

Dúvidas, sobre o uso do SVN ?  Clique aqui e veja um vídeo

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Victor H. Gonzales - Panda disse:

Por favor atualize seus fontes, pelo SVN do ACBr... 

Já subimos para o nosso repositório de fontes, modificações que podem corrigir algum dos itens referentes a esse tópico...

Por favor atualize seus fontes, faça testes, e se possível comente em uma nova resposta, se o problema foi resolvido...

Dúvidas, sobre o uso do SVN ?  Clique aqui e veja um vídeo

faltou mudar no parâmetro ACBrMDFe1.Enviar() esta tipo integer ainda

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...