Jump to content

dia-do-acbr-online.png

.Promoção do Suporte ACBr:
Ganhe o Curso Migração e Modernização de Aplicações Legadas

Saiba Mais


RAFAEL_E_ANGELO3.png

logo_acbr_paygo.png

TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


botao.png

beneficios.png

Alimentação da propriedade cStat


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

Recommended Posts

Pessoal,

Estou com uma dúvida referente ao cStat (pode até parecer besta, mas não estou conseguindo simular)

Eu percebi que quando

  • Envia uma nota fiscal, a propriedade ACBrNFe.WebServices.Enviar.cStat é alimentada.
  • Cancela uma nota fiscal, a propriedade ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat é alimentada
  • Inutiliza uma nota fiscal, a propriedade ACBrNFe.WebServices.Inutilizacao.cStat é alimentada
  • Consulta uma nota fiscal, ACBrNFe.WebServices.Consulta.cStat é alimentada

O que não consegui identificar muito bem é quando que a propriedade ACBrNFe.WebServices.Retorno.cStat é alimentada.

Fazendo alguns testes e pesquisando aqui no fórum, notei que quando é NFCe o cStat é no Enviar, quando é NFE o cStat é no Retorno.

        if ACBrNFe.NotasFiscais[0].NFe.Ide.modelo = 55 then
          ACBrNFe.Enviar(ACBrNFe.NotasFiscais[0].NFe.Ide.nNF + StrToInt(FormatDateTime('hhMMss', now)), False, False)
        else
          ACBrNFe.Enviar(ACBrNFe.NotasFiscais[0].NFe.Ide.nNF + StrToInt(FormatDateTime('hhMMss', now)), False, True);   //NFCe é Sincrono

 

Isso é porque a NFCe é Sincrona, ou seja, já tem o status no retorno do envio.

 

Estou certo no meu  raciocínio? O modo de enviar as notas é como está mencionado acima, NFe assincrono e NFCe sincrono ?

Se eu enviar NFE em modo Síncrono, pode ter algum problema no futuro? Fiz um teste aqui em homologação e enviou normalmente.

 

Desde já obrigado!

Link to post
Share on other sites
  • Solution

Log Programador,

Quando desenvolvi minha rotina, eu olhei no programa exemplo, e depois fiz a seguinte regra: Independente do modelo, a rotina é mesma, apenas tem uma configuração onde o usuário fala que o modelo 65, pode ser sincrono ou assincrono.

Ao fazer o envio, utilizo o trecho de código abaixo.

Sincrono := FALSE ou TRUE;

                                        //realizar o envio da NFe
                                       FnotaNFe.Enviar(OnlyNumber(pNFID),FALSE,Sincrono);

                                       //Apos o retorno, salvar os dados na tabela
                                       qryNF_HDR.edit;

                                       if not Sincrono then
                                       begin
                                          qryNF_HDRPROTOCOL_NFE.Value:= FnotaNFe.WebServices.Retorno.Protocolo;
                                          qryNF_HDRDT_HR_PROTOCOL.value:= now;

                                          qryNF_HDRST_PROCESS_NF.Value:= FnotaNFe.WebServices.Retorno.cStat;
                                          qryNF_HDRCHAVE_NFE.Value:= FnotaNFe.WebServices.Retorno.ChaveNFe;
                                       end
                                       else
                                         begin
                                           qryNF_HDRPROTOCOL_NFE.Value:=FnotaNFe.NotasFiscais[j].NFe.procNFe.nProt;
                                           qryNF_HDRDIGEST_VALUE.Value:=FnotaNFe.NotasFiscais[j].NFe.signature.DigestValue;
                                           qryNF_HDRDT_HR_PROTOCOL.value:= FnotaNFe.NotasFiscais[j].NFe.procNFe.dhRecbto;
                                           qryNF_HDRST_PROCESS_NF.Value:= FnotaNFe.NotasFiscais[j].NFe.procNFe.cStat;
                                           qryNF_HDRCHAVE_NFE.Value:= OnlyNumber(FnotaNFe.NotasFiscais[j].NFe.infNFe.ID);
                                         end;

                                         sXML := ACBrUtil.ConverteXMLtoUTF8(FnotaNFe.NotasFiscais.Items[j].XMLAssinado);
 

Espero que tenha consigo esclarecer sua dúvida.

  • Like 1
Link to post
Share on other sites
  • Este tópico foi criado há 303 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...