Ir para conteúdo
  • Cadastre-se

dev botao

Necessita De Número De Lote


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

Recommended Posts

  • Membros Pro
Postado

Olá, estou iniciando o desenvolvimento de um emissor NFC-e.

 

No arquivo de exemplo ele me solicita o número do lote, sendo que estou enviando apenas 1 nota, sem necessidade de informar o número de lote. Esse campo é obrigatório mesmo???

  • Consultores
Postado

Bom dia,

 

Não importa se você vai enviar uma nota ou 50 notas em uma unica vez, sempre será montado um lote e consequentemente este vai possui um numero.

 

A SEFAZ, não faz uso do numero do lote, mas aconselho que ele seja sequencial e portanto a sua aplicação faça uso e controle dessa informação.

  • 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

  • Consultores
Postado

Essa TAG é gerada no momento da montagem do lote.

 

Foi publicado uma minuta da nova versão do MOC - Manual de Orientação ao contribuinte da NF-e trata-se da versão 6.0 do MOC.

 

Baixe essa nova versão do MOC, na página 29 você vai encontrar a estrutura de um lote de envio da NF-e ou NFC-e.

 

A TAG é idLote, veja o que esta escrito na coluna Descrição/Observação sobre essa TAG.

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

  • Membros Pro
Postado

Realmente ela representa exatamente o que você falou. Minha dúvida é que no XML gerado pelo componente na aplicação de exemplo, apesar de ele ter me perguntado o lote,o mesmo não possui essa TAG, lembrando que estou usando o NFC-e do exemplo. 

 

Esse lote foi escrito nesse XML?

  • Membros Pro
Postado

Segue as informaçoes de identificação da Nota, creio que deveria estar ai:

 

<cUF>33</cUF>
<cNF>33836983</cNF>
<natOp>Venda a Vista</natOp>
<indPag>0</indPag>
<mod>65</mod>
<serie>1</serie>
<nNF>5</nNF>
<dhEmi>2015-06-15T12:57:21-03:00</dhEmi>
<tpNF>1</tpNF>
<idDest>1</idDest>
<cMunFG>3304144</cMunFG>
<tpImp>4</tpImp>
<tpEmis>1</tpEmis>
<cDV>0</cDV>
<tpAmb>2</tpAmb>
<finNFe>1</finNFe>
<indFinal>1</indFinal>
<indPres>1</indPres>
<procEmi>0</procEmi>
<verProc>iContNFe1.22</verProc>
  • Consultores
Postado

Boa tarde,

 

Você esta analisando o XML da NF-e/NFC-e e não o XML de envio que é o lote que pode conter uma lista de até 50 notas.

 

Se o componente estiver configurado para salvar os arquivos enviados e recebidos da SEFAZ ( Configuracoes.Geral.Salvar := True ) será gravado em disco XML com o seguinte nome:

 

<numeroLote>-env-lot.xml

 

Ao abrir esse arquivo com o navegador você vai notar logo na segunda linha a TAG: idLote

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

Bom dia,

 

Não acho uma boa ideia, uma vez que o lote pode conter de 1 até 50 notas.

 

No meu sistema, tenho uma tabela para controle do lote, com os seguintes campos: DataEnvio, NumLote, NumNFeIni, NumNFeFim.

 

Desta forma sei quando o lote de numero 435 foi enviado e quais notas compunham esse lote, exemplos:

 

21/06/2015 - 434 - 2500 - 2500   <== neste lote tenho apenas uma nota a de numero 2500

21/06/2015 - 435 - 2501 - 2530   <== neste lote tenho 30 notas da 2501 até 2530

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

  • Membros Pro
Postado

Entendi.

 

A princípio estou fazendo um emissor básico onde seriam enviados apenas 1 nota por vez.

 

Então pelo o que sugeriu creio que deva fazer o seguinte: criar um código para no envio de cada nota dessa colocar em um lote onde ainda tenha espaço, e quando o mesmo atingir o seu limite, no caso 50, pulo para um próximo. Seria isso? O que acha?

  • Consultores
Postado

Temos que levar algumas coisas em consideração, principalmente se tratando de NFC-e.

 

No caso da NFC-e se o lote possui apenas uma nota, podemos solicitar o envio em modo síncrono, desta forma assim que a SEFAZ receber o lote, ela já processa e se estiver tudo OK, já retorna o protocolo de autorização.

 

Por outro lado se o lote possuir duas ou mais notas (máximo de 50), o envio obrigatoriamente tem que ser no modo assíncrono, ou seja, funciona exatamente igual a NF-e. Neste caso a SEFAZ recebe o lote, retorna o recibo é realizado em seguida uma consulta se o retorno for lote em processamento, deve-se esperar alguns segundos e realizar uma nova consulta, caso retorno lote processado, teremos então os protocolos de autorização de todas as notas que compõe o lote, supondo que todas tenham sido processadas com sucesso.

 

Outra coisa importante a se levar em conta é o tamanho da nota, se a mesma possui um item o tamanho do XML com certeza será menor em comparação com o tamanho do XML de uma nota que possui 20 itens.

 

Sendo assim o tamanho máximo do lote é a soma do tamanho de todas as notas contidas nele e não pode ultrapassar os 500 Kbytes.

 

Resumindo um lote esta limitado a 50 notas e 500 Kbytes de tamanho.

 

Como se trata de NFC-e Nota Fiscal do Consumidor Eletrônica, temos que levar em consideração o tipo de estabelecimento comercial que a aplicação vai rodar, no meu entendimento no caso de um supermercado, que com certeza cada venda terá muitos itens na nota, o envio de lotes com apenas uma nota no modo síncrono é talvez a melhor solução.

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

  • Membros Pro
Postado

Ok. Até ai tudo bem... Mas a minha dúvida no final é, se realizar o envio de lotes com apenas uma nota, no modo síncrono, como devo tratar a numeração dos lotes? Ou com a mesma da nota ou conforme eu disse, encaixando posteriormente as notas em lotes já usados anteriormente em modo síncrono que ainda tenham espaço?

 

Por exemplo, mandei a nota 1 no lote 1, modo sincrono, autorizado.

 

10 minutos depois mando a nota 2 no lote 1 (pois tem 49 de espaço), modo sincrono, autorizado.

 

10 minutos depois mando a nota 3 no lote 1 (pois tem 48 de espaço, modo sincrono, autorizado).

 

E assim vai???

 

Como melhor proceder? Desculpe de ante-mão insistir nisso, mas como não tenho muita experiência no assunto, não sei de qual a melhor forma para começar.

 

Desde já agradeço a atenção.

  • Consultores
  • Solution
Postado

A cada lote enviado o seu numero tem que ser sequencial, conforme orientação da Nota Técnica mencionada anteriormente.

 

Portanto nota 1 lote 1, nota 2 lote 2, nota 3 lote 3, etc caso você vai enviar todos os lotes no modo síncrono, pois sempre tem apenas uma nota.

 

Ou nota 1 lote 1 (modo síncrono), notas 2 e 3 lote 2 (modo assíncrono), nota 4 lote 3 (modo síncrono), .... neste caso os lotes possuem quantidades variáveis de notas, sendo assim o seu modo de envio tem que ser alterado em função da quantidade de notas.

 

Em ambos os casos a numeração dos lotes é sequencial.

 

Da forma que você estava pensando em fazer, se os arquivos XMLs de envio e de retorno, forem ser salvos em disco vai ocorrer a sobreposição principalmente aqueles que utilizam o numero do lote como parte do nome do arquivo, ou seja, os arquivos salvos em disco só teriam o conteúdo referente a última nota enviada.

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

  • Membros Pro
Postado

Bem, conforme falei estou começando, tem muita coisa que não entendo ainda e estou estudando, como por exemplo esses XMLs de envio e retorno, mas sua ajuda está sendo muito válida.

 

A principio o emissor é bem básico, vou fazer o envio no modo síncrono e vou seguir a sequencia da numeração da nota, nota 1 lote 1, nota 2 lote 2. Mas isso é "a principio", conforme for adquirindo mais conhecimento e amadurecendo as minhas dúvidas peço um "socorro" aqui mais específico :-)

 

Pois por exemplo, pelo que vejo não poderei fazer o envio sincrono quando tiver várias contingencia, então teria que bolar outra forma de controlar esses lotes.

 

Um grande abraço amigo e valeu pela ajuda

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