Jump to content

dev botao

MDFe - Envio Modo Síncrono como pegar o campos de retorno


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

Recommended Posts

  • Membros Pro
Posted

Estou realizando o envio do MDFe através do modo Síncrono:

ACBrMDFe.Enviar(vNumLote, True, True);

Gostaria de saber qual a forma correta de obter os retornos: cStat, dhRecto, protocolo, xMotivo.

Já olhei o exemplo do Acbr, e observei dessa forma:

with MemoDados do
  begin
    Lines.Add('');
    Lines.Add('Envio MDFe');
    Lines.Add('tpAmb: '     + TpAmbToStr(ACBrMDFe1.WebServices.Enviar.tpAmb));
    Lines.Add('verAplic: '  + ACBrMDFe1.WebServices.Enviar.verAplic);
    Lines.Add('cStat: '     + IntToStr(ACBrMDFe1.WebServices.Enviar.cStat));
    Lines.Add('xMotivo: '   + ACBrMDFe1.WebServices.Enviar.xMotivo);
    Lines.Add('cUF: '       + IntToStr(ACBrMDFe1.WebServices.Enviar.cUF));
    Lines.Add('xMsg: '      + ACBrMDFe1.WebServices.Enviar.Msg);
    Lines.Add('Recibo: '    + ACBrMDFe1.WebServices.Enviar.Recibo);
//    Lines.Add('Protocolo: ' + ACBrMDFe1.WebServices.Enviar.Protocolo);
  end;

Porém não tem o retorno dhRecbto, como posso pegar esse valor?

Alguém poderia me orientar?

Obrigado.

  • Consultores
Posted
1 hora atrás, SisComp - Proc. de Dados disse:

Estou realizando o envio do MDFe através do modo Síncrono:

ACBrMDFe.Enviar(vNumLote, True, True);

Gostaria de saber qual a forma correta de obter os retornos: cStat, dhRecto, protocolo, xMotivo.

Já olhei o exemplo do Acbr, e observei dessa forma:

with MemoDados do
  begin
    Lines.Add('');
    Lines.Add('Envio MDFe');
    Lines.Add('tpAmb: '     + TpAmbToStr(ACBrMDFe1.WebServices.Enviar.tpAmb));
    Lines.Add('verAplic: '  + ACBrMDFe1.WebServices.Enviar.verAplic);
    Lines.Add('cStat: '     + IntToStr(ACBrMDFe1.WebServices.Enviar.cStat));
    Lines.Add('xMotivo: '   + ACBrMDFe1.WebServices.Enviar.xMotivo);
    Lines.Add('cUF: '       + IntToStr(ACBrMDFe1.WebServices.Enviar.cUF));
    Lines.Add('xMsg: '      + ACBrMDFe1.WebServices.Enviar.Msg);
    Lines.Add('Recibo: '    + ACBrMDFe1.WebServices.Enviar.Recibo);
//    Lines.Add('Protocolo: ' + ACBrMDFe1.WebServices.Enviar.Protocolo);
  end;

Porém não tem o retorno dhRecbto, como posso pegar esse valor?

Alguém poderia me orientar?

Obrigado.

Boa tarde!

A informação do dhRecbto apenas não é utilizada no exemplo, mas a mesma está presenta na classe, veja:

  TMDFeRecepcao = class(TMDFeWebService)
  //...
  public
	//...
    property Recibo: String read GetRecibo;
    property versao: String read Fversao;
    property TpAmb: TpcnTipoAmbiente read FTpAmb;
    property verAplic: String read FverAplic;
    property cStat: Integer read FcStat;
    property cUF: Integer read FcUF;
    property xMotivo: String read FxMotivo;
    property dhRecbto: TDateTime read FdhRecbto; //<==Aqui
    property TMed: Integer read FTMed;
    property Protocolo: string read FProtocolo;
  end;

Portanto, você pode ler:  ACBrMDFe.WebServices.Enviar.dhRecbto;

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Posted
1 hora atrás, Diego Foliene disse:

Boa tarde!

A informação do dhRecbto apenas não é utilizada no exemplo, mas a mesma está presenta na classe, veja:

  TMDFeRecepcao = class(TMDFeWebService)
  //...
  public
	//...
    property Recibo: String read GetRecibo;
    property versao: String read Fversao;
    property TpAmb: TpcnTipoAmbiente read FTpAmb;
    property verAplic: String read FverAplic;
    property cStat: Integer read FcStat;
    property cUF: Integer read FcUF;
    property xMotivo: String read FxMotivo;
    property dhRecbto: TDateTime read FdhRecbto; //<==Aqui
    property TMed: Integer read FTMed;
    property Protocolo: string read FProtocolo;
  end;

Portanto, você pode ler:  ACBrMDFe.WebServices.Enviar.dhRecbto;

Boa tarde @Diego Foliene, obrigado pela atenção. Estou tentando pegar a informação do dhRecbto como você orientou, os outros campos são retornados com valor, porém este esta vindo nulo no retorno, conforme imagem abaixo:

Erro MDFE.png

  • Consultores
Posted
41 minutos atrás, SisComp - Proc. de Dados disse:

Boa tarde @Diego Foliene, obrigado pela atenção. Estou tentando pegar a informação do dhRecbto como você orientou, os outros campos são retornados com valor, porém este esta vindo nulo no retorno, conforme imagem abaixo:

Erro MDFE.png

Boa tarde!

A informação consta no arquivo XML do retorno?

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Posted

Verificando.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Posted

Constatada possível irregularidade.

Criada a #TK-4795 para tratativa do caso e parecer do consultor responsável.

  • Like 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
  • Solution
Posted

Bom dia!

Foi enviado no SVN na Rev-31463, alteração para que preencha a propriedade da classe web service.

No entanto, vale explicar que na verdade não era um erro. O que acontece é que a informação é preenchida em outra propriedade.

Por isso, agora, com a alteração recente, você pode escolher entre:

ACBrMDFe.WebServices.Enviar.dhRecbto;

Ou a propriedade que já recebia a informação antes:

ACBrMDFe.Manifestos[Indice].MDFe.procMDFe.dhRecbto;

Lembrando que para alteração surtir efeito, você precisa atualizar seus fontes e reinstalar o ACBr.

  • Like 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

×
×
  • 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.

The popup will be closed in 10 seconds...