Jump to content

Curso Dominando o ACBrMonitor
Novo Módulo Soluções de Varejo
Assine o SAC ACBr em qualquer plano e tenha acesso

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba Mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Joabe Geraldo

ANSWERED Salvar protocolo autorização no XML em modo assíncrono

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

Recommended Posts

Boa tarde.

Eu estou desenvolvendo uma rotina de envio da NFCe através do envio assíncrono. Eu preferi usar desta forma (mesmo sabendo que o tempo é maior que o síncrono)  para ter um controle melhor sobre o envio e recebimento do lote. Estou fazendo desta forma:

ACBrNFe1.WebServices.Enviar.Lote := Self.GerarLote;
ACBrNFe1.WebServices.Enviar.Sincrono := False;
ACBrNFe1.WebServices.Enviar.Executar;

E depois faço a consulta do lote pelo número do recibo retornado pelo Acbr:

ACBrNFe1.WebServices.Recibo.Executar;

Estou obtendo os retornos da forma que eu preciso e faço os tratamentos corretamente.

O único problema é que quando eu uso o módulo assíncrono o Acbr não consegue atualizar o arquivo XML com a autorização da nota.

Eu sei que existe a possibilidade de consultar a nota através do arquivo XMl, mas não quero usar esta forma para não cair no Consumo Indevido por consultar toda nota que for emitida.

Como que eu faço para adicionar no XML as informações da autorização?

 

Edited by Joabe Geraldo

Share this post


Link to post
Share on other sites
Em 03/04/2019 at 15:15, Joabe Geraldo disse:

Boa tarde.

Eu estou desenvolvendo uma rotina de envio da NFCe através do envio assíncrono. Eu preferi usar desta forma (mesmo sabendo que o tempo é maior que o síncrono)  para ter um controle melhor sobre o envio e recebimento do lote. Estou fazendo desta forma:

ACBrNFe1.WebServices.Enviar.Lote := Self.GerarLote;
ACBrNFe1.WebServices.Enviar.Sincrono := False;
ACBrNFe1.WebServices.Enviar.Executar;

E depois faço a consulta do lote pelo número do recibo retornado pelo Acbr:

ACBrNFe1.WebServices.Recibo.Executar;

Estou obtendo os retornos da forma que eu preciso e faço os tratamentos corretamente.

O único problema é que quando eu uso o módulo assíncrono o Acbr não consegue atualizar o arquivo XML com a autorização da nota.

Eu sei que existe a possibilidade de consultar a nota através do arquivo XMl, mas não quero usar esta forma para não cair no Consumo Indevido por consultar toda nota que for emitida.

Como que eu faço para adicionar no XML as informações da autorização?

 

Boa tarde

Cara você só poderá obter a informação do retorno WS na hora do envio se você usar Sincrono := true; caso contrario você terá que fazer uma consulta pela chave, após a transmissão, dai você poderá cair na questão do consumo indevido.

Att.

 

 
  • Like 1

Share this post


Link to post
Share on other sites
Em 03/04/2019 at 15:15, Joabe Geraldo disse:

Boa tarde.

Eu estou desenvolvendo uma rotina de envio da NFCe através do envio assíncrono. Eu preferi usar desta forma (mesmo sabendo que o tempo é maior que o síncrono)  para ter um controle melhor sobre o envio e recebimento do lote. Estou fazendo desta forma:

ACBrNFe1.WebServices.Enviar.Lote := Self.GerarLote;
ACBrNFe1.WebServices.Enviar.Sincrono := False;
ACBrNFe1.WebServices.Enviar.Executar;

E depois faço a consulta do lote pelo número do recibo retornado pelo Acbr:

ACBrNFe1.WebServices.Recibo.Executar;

Estou obtendo os retornos da forma que eu preciso e faço os tratamentos corretamente.

O único problema é que quando eu uso o módulo assíncrono o Acbr não consegue atualizar o arquivo XML com a autorização da nota.

Eu sei que existe a possibilidade de consultar a nota através do arquivo XMl, mas não quero usar esta forma para não cair no Consumo Indevido por consultar toda nota que for emitida.

Como que eu faço para adicionar no XML as informações da autorização?

 

Joab, Quanto a sua outra questão: "Como que eu faço para adicionar no XML as informações da autorização?"

Resp: O ACBR já faz isso automaticamente, o componente depois que faz o processo de transmissão e modo: síncronos ou assíncronos  ele gerar de forma automática a tag: <protNFe versao="4.00"> ...</protNFe> , não estou entendendo o motivo de você querer editar o XML. 

Att.

 

Edited by Fernando Di Pace

Share this post


Link to post
Share on other sites
Em 16/04/2019 at 17:52, Fernando Di Pace disse:

Joab, Quanto a sua outra questão: "Como que eu faço para adicionar no XML as informações da autorização?"

Resp: O ACBR já faz isso automaticamente, o componente depois que faz o processo de transmissão e modo: síncronos ou assíncronos  ele gerar de forma automática a tag: <protNFe versao="4.00"> ...</protNFe> , não estou entendendo o motivo de você querer editar o XML. 

Att.

 

O problema é que não achei nenhuma opção para que a tag tag: <protNFe versao="4.00"> ...</protNFe> seja adicionada ao XML depois de consultar o recibo da transmissão em modo assíncrono.

Se eu consultar a nota através do XML é adicionado, mas quero evitar de cair em Consumo indevido.

Share this post


Link to post
Share on other sites
Em 03/04/2019 at 14:15, Joabe Geraldo disse:

E depois faço a consulta do lote pelo número do recibo retornado pelo Acbr:

ACBrNFe1.WebServices.Recibo.Executar;

Experimente trocar o trecho acima para:

ACBrNFe1.WebServices.Retorno.Recibo := ACBrNFe1.WebServices.Enviar.Recibo;
ACBrNFe1.WebServices.Retorno.Executar;

Ou você pode simplesmente usar o método ACBrNFe1.Enviar(nLote, bImprimir, bSincrono) que faz todo o processo.

  • Like 3

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

Projeto ACBr

 

 

Share this post


Link to post
Share on other sites
Em 18/04/2019 at 18:20, BigWings disse:

Experimente trocar o trecho acima para:

ACBrNFe1.WebServices.Retorno.Recibo := ACBrNFe1.WebServices.Enviar.Recibo;
ACBrNFe1.WebServices.Retorno.Executar;

 

@BigWings, muito obrigado....

Eu estava fazendo a consulta do recibo de lote de forma errada.  

Estava utilizando Webservices.Recibo.

Fazia a consulta  mas não salvava o retorno.

Agora está certo.

 

  • Like 3

Share this post


Link to post
Share on other sites
  • Este tópico foi criado há 405 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui
Guest
This topic is now closed to further replies.

×
×
  • Create New...