Jump to content

dev botao

Necessita De Número De Lote


Go to solution Solved by Italo Giurizzato Junior,
  • Este tópico foi criado há 3534 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Posted

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
Posted

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.

  • Like 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
Posted

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
Posted

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
Posted

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
Posted

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
Posted

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
Posted

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
Posted

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
Posted

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
Posted

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.

  • Like 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
Posted

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

  • Like 1
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...