Ir para conteúdo
  • Cadastre-se

dev botao

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


Ver Solução Respondido por BigWings,
  • Este tópico foi criado há 1802 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?

 

Editado por Joabe Geraldo
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Membros Pro
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.

 


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

  • Membros Pro
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.

 

Editado por Fernando Di Pace
Link para o comentário
Compartilhar em outros 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.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
  • Solution
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.

  • Curtir 3
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros 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.

 

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

  • Este tópico foi criado há 1802 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.