Ir para conteúdo
  • Cadastre-se

dev botao

Retornar a chave na tag [ENVIO] ACBRMonitor


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

Recommended Posts

Olá... 

Então quando uso o comando NFe.CriarEnviarNFe as vezes o retorno vem em branco, modo homologação e também em produção, daí fica dificil consultar o que aconteceu com a NFCe se foi autorizada ou não, porque não retorna a chave, nem no [ENVIO] nem no [RETORNO]. 

É possível aos desenvolvedores incluirem dentro do [ENVIO] a chave que foi enviada se isso não fugir do padrão? 

Quando a resposta vem em branco não dá para consultar porque não tive acesso a chave da nota em nenhum momento. Daí tive que alterar no meu sistema para criar, assinar, validar e enviar a nfce, demorando um pouco mais na hora de enviar uma nfce. 

Fiz vários testes inclusive mudando o parametro bSincrono. Quando envio sem informar o bSincrono, geralmente o retorno é em branco, Quando uso o parametro definido com 0, é difícil retornar em branco e com 1 as vezes volta preenchido.

Vou anexar o log dos testes e os retornos no arquivo sainfe.txt

Obrigado

Rubens

LOG.TXT

sainfe.txt

Link para o comentário
Compartilhar em outros sites

@Rubens primeiramente, me desculpe pela demora na resposta.

Tentei uma forma de retornar a chave da NFe. Acredito que a melhor forma de obter a chave, é mesmo enviando um CriarNFe antes do CriarEnviarNFe. 

O que fazemos para obter a chave é chamar antes do comando NFE.CriarEnviarNFe, chamamos o NFE.CriarNFe, que retorna o nome do arquivo criado na resposta, ai pegamos a chave desta resposta.

NFE.CriarNFe("[Identificacao] ...
OK: d:\...\trunk2\Projetos\ACBrMonitorPLUS\Lazarus\Logs\35160705481336000137650010000300131000300133-nfe.xml

 

Consultor SAC ACBr

Celso Marigo Junior

Conheça o Portal do Projeto ACBr
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

 

Link para o comentário
Compartilhar em outros sites

Boa tarde Celso... 

Obrigado pelo Retorno... 

Sim eu já faço o procedimento...

Aí estou tendo que Criar, assinar e validar. Então são 03 chamadas ao ACBR. Quando usa a NFE.CriarEnviarNFe aumenta e muito a velocidade na emissão de uma NFCe. Mas tudo bem... Vou deixar do jeito que está...  

Obrigado...

Rubens

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
Em 14/07/2016 at 15:48, Rubens disse:

Sim eu já faço o procedimento...
Aí estou tendo que Criar, assinar e validar. Então são 03 chamadas ao ACBR. Quando usa a NFE.CriarEnviarNFe aumenta e muito a velocidade na emissão de uma NFCe. Mas tudo bem... Vou deixar do jeito que está...  

Boa tarde!

@Rubens você pode tentar o procedimento abaixo:

Para montar a chave, ela segue um padrão (veja manual), aonde com as informações da nota você consegue reproduzir a chave.
Com exceção do campo cNF (“Código numérico que compõe a Chave de Acesso. Número aleatório gerado pelo emitente para cada NF-e).

O cNF você deve informar no arquivo INI, portanto você já faz isto. Ou você está informando o próprio número da nota (que não é recomendado para evitar acessos indevidos)  ou você já está informando este número através de um controle seu. De posse deste número penso que você conseguirá resolver esta situação.

Exemplo:

cNF=12345678 (teu codigo aleatorio)

NFe.GerarChave(codigoUF,cNF,modelo,serie,numero,tpemi,emissao,CNPJ)   //Em cNF informe teu código aleatório com 8 digitos

Pegue o retorno que será a chave gerada

//Aquirvo INI
 

Citar

[infNFe]
versao=3.10
[Identificacao]
cNF=  12345678   //Teu codigo
nNF=  1    //numero da nota
natOp=
indPag=

Depois use o comando NFe.CriarEnviarNFe

NFe.CriarEnviarNFe(cIniNFe,nLote,[bImprimeDANFE],[bSincrono],[cImpressora],[bMostrarPreview],[nNumCopias], [bImprimirPDF])

Caso dê algum problema sem retorno vc já tem a chave gerada, pois montou antes de enviar o arquivo. Uma vez que vc tenha o cNF a chave para esta nota será a mesma.


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Quando utilizo o comando NFE.CriarEnviarNFe e ocorre sucesso no envio da NFC-e, o retorno contém o seguinte:
 

01/02/2018 12:31:41 - OK: Lote recebido com sucesso
[ENVIO]
Versao=GO4.0
TpAmb=2
VerAplic=GO4.0
CStat=103
XMotivo=Lote recebido com sucesso
CUF=52
NRec=521000014824422
DhRecbto=01/02/2018 12:31:34
TMed=1
Msg=Lote recebido com sucesso
Autorizado o uso da NF-e
[RETORNO]
Versao=GO4.0
TpAmb=2
VerAplic=GO4.0
NRec=521000014824422
CStat=100
XMotivo=Autorizado o uso da NF-e
CUF=52
[NFE852]
Versao=GO4.0
TpAmb=2
VerAplic=GO4.0
CStat=100
XMotivo=Autorizado o uso da NF-e
CUF=52
ChNFe=52180237257144000138650010000008521000008521
DhRecbto=01/02/2018 12:31:35
NProt=152180018732432
DigVal=xsx6sIf6+20mWJi9+qzt+tsCeLM=
Arquivo=C:\ACBrMonitorPLUS\Arqs\37257144000138\NFCe\201802\NFCe\52180237257144000138650010000008521000008521-nfe.xml

Porém, às vezes ocorre o seguinte retorno:
 

01/02/2018 12:17:25 - OK: Lote recebido com sucesso
[ENVIO]
Versao=GO4.0
TpAmb=2
VerAplic=GO4.0
CStat=103
XMotivo=Lote recebido com sucesso
CUF=52
NRec=521000014824397
DhRecbto=01/02/2018 12:17:17
TMed=1
Msg=Lote recebido com sucesso
Lote em processamento
[RETORNO]
Versao=GO4.0
TpAmb=2
VerAplic=GO4.0
NRec=521000014824397
CStat=105
XMotivo=Lote em processamento
CUF=52

O problema é que neste último retorno não existe a variável "Arquivo" com o nome e caminho do arquivo xml gerado.
Então, faço uma consulta com NFE.ReciboNFe e obtenho a resposta de autorização ou não. Porém, preciso obter o caminho e nome do arquivo XML gerado porque minha aplicação utiliza este nome em várias rotinas.

Meu objetivo é evitar o uso de chamadas ao ACBr na seguinte sequência:

NFE.CriarNFe
NFE.ValidarNFe
NFE.AssinarNFe
NFE.EnviarNFe

Gostaria de realizar uma só chamada ao ACBr com o comando NFE.CriarEnviarNFe sem a necessidade de executar outros comandos como NFe.GerarChave ou o comando NFE.CriarNFe antes.
 

Link para o comentário
Compartilhar em outros sites

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