Jump to content

dev botao

Retorno Do Erro No Envio Da Ncfe


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

Recommended Posts

Bom dia!

 

Estou tendo uma certa dificuldade em tratar os erros na hora do envio de uma NFCe. Quando uso a função acbrnfe.webservices.envia(0) e ocorre algum erro, seja por duplicidade ou qualquer outro, não consigo capturar o retorno do componente para tratar esse erro corretamente, verifiquei que no exemplo o programa exibe uma mensagem com os dados e a descrição do erro, mas não consegui encontrar a parte do código que exibe essa mensagem. Pesquisei algo sobre isso no fórum mas também não encontrei.

 

Se alguém puder me ajudar ficarei grato.

Link to comment
Share on other sites

  • 1 month later...

Estou sofrendo com o mesmo problema, muitos clientes tem internet com proxy, conexão via wireless, e vários outros obstáculos e se torna rotina ver NFCe e NFes que ao transmitir ficam sem respostas, eu perco o XML assinado, não tenho mais o documento pra comprovar, e ao tentar transmitir novamente tenho duplicidade NFe, que no caso da Nota fiscal de consumidor o campo cStat vem vazio não consigo identificar código 204, tenho que procurar pela palavra "Duplicidade" dentro do texto da exception... se alguém tiver alguma solução fico muito agradecido, estou neste momento fazendo varias tentativas

Link to comment
Share on other sites

  • 2 months later...

Galera pesquisei bastante também pelo fórum e nada.

Daí fiz da seguinte maneira mas, mesmo assim percebo que não esta 100%.

Cinto que o pessoal fica omitindo esclarecer certos assuntos aqui no fórum. Na verdade omitindo. Não entendo se este é feito para compartilhar conhecimentos.

Na verdade acho que utilizam de má fé.

Desculpa galera. Acadei desabafando e não postei o código:

              vChaveNFCE := Copy( dm.ACBrNFe.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44 );
              QryNumNota.ParamByName('idvenda').AsInteger      := pIdVenda;
              QryNumNota.ParamByName('chave_nfce').AsString    := vChaveNFCE;
              QryNumNota.ParamByName('dt_emis_nfce').AsDate    := dm.ACBrNFe.NotasFiscais.Items[0].Nfe.Ide.dEmi;
              QryNumNota.ParamByName('hr_emis_nfce').AsTime    := dm.ACBrNFe.NotasFiscais.Items[0].Nfe.Ide.hSaiEnt;
              QryNumNota.ParamByName('hr_gerou_nfce').AsTime   := DM.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.dhRecbto;
              QryNumNota.ParamByName('dt_gerou_nfce').AsDate   := DM.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.dhRecbto;
              //verificar como pegar o retorno
              QryNumNota.ParamByName('num_recibo').AsString    := datetimetostr( dm.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.dhRecbto );
              QryNumNota.ParamByName('num_protocolo').AsString := dm.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.nProt;
              //verificar como pegar o retorno
              QryNumNota.ParamByName('status_nfce').AsString   := inttostr( dm.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.cStat );
              QryNumNota.ParamByName('desc_status').AsString   := '';
              QryNumNota.ParamByName('ambiente_nfce').AsString := TpAmbToStr( dm.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.tpAmb );
              QryNumNota.ParamByName('modelo').AsString        := inttostr( dm.ACBrNFe.NotasFiscais.Items[0].Nfe.Ide.modelo );
              QryNumNota.ParamByName('serie').AsString         := inttostr( dm.ACBrNFe.NotasFiscais.Items[0].Nfe.Ide.serie );
              QryNumNota.ParamByName('resposta').AsString      := dm.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.xMotivo;
              QryNumNota.ParamByName('contingencia').AsString  := 'C';//nota confirma e online
              QryNumNota.ParamByName('num_nfce').asinteger     := pNumNota;
              //salvar o path do xml
              vPathXml := dm.ACBrNFe.Configuracoes.Arquivos.PathNFe + fCNPJEmp + '\NFCe\' + formatdatetime('yyyymm', now) + '\NFCe\' + vChaveNFCE + '-nfe.xml' ;
              QryNumNota.ParamByName('path_xml').AsString      := vPathXml;//nota off line e não enviada
              //fim o path no bando de dados
              QryNumNota.ExecSQL( false );
              dm.GravaXmlNFe( pIdVenda,  dm.ACBrNFe );//guardar o xml no banco de dados

Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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.