Jump to content

click.png

click.png

click.png

click.png click.png click.png

click.png

click.png

click.png

Seja-Profissional-Saiba-mais.png Beneficios_banner.png

 

click.png

click.png

click.png

Dúvidas sobre desprezar determinados xmls


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

Recommended Posts

Boa noite,

 

Podem me ajudar numa situação. Estou mexendo aqui na parte do manifesto destinatário e vi que a sefaz liberar todos os xmls cujo meu cnpj participe do mesmo. Exemplo: sou transportador e recebo notas cujo campo transportador cite meu cnpj.

 

NO ACBR tem alguma forma que verifico se o destinatário sou eu, pois essa nf que dei de exemplo pra fins de manifesto não me interessa, ai queria desprezá-la

 

Obrigado.

Link to comment
Share on other sites

Esse trecho ai não seria para enviar os eventos do manifesto (Confirmação da operação, etc) ?

 

 

Veja o codigo que estou fazendo:

 

 

procedure TProcessoManifestoDestinatario.ConsultaDocumentosNFe;
var
  ret : string;
  i : Integer;
  trans : TDBXTransaction;
begin
  Sucesso := False;
  try
    nfe := TACBrNFe.Create(nil);
    InicializaDadosNfe;

    if (nfe.DistribuicaoDFePorUltNSU(uf, cnpj, ultNSU)) then begin
      ret := nfe.WebServices.DistribuicaoDFe.RetWS;

      trans := IniciarTransacao;
      for i := 0 to nfe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count -1 do
        ProcessarRetornoNfeCte(nfe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.resDFe);

      cdsMd.Commit;

      CommitTransacao(trans);

      Sucesso := True;

 

 

 

 

Link to comment
Share on other sites

  • Consultores
7 horas atrás, DIEGO J B PIRES disse:

if (nfe.DistribuicaoDFePorUltNSU(uf, cnpj, ultNSU)) then begin
      ret := nfe.WebServices.DistribuicaoDFe.RetWS;

Esse só está fazendo a consulta.

veja que tem dois botões no exemplo

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to comment
Share on other sites

  • Moderadores
Em 19/08/2020 at 20:16, DIEGO J B PIRES disse:

NO ACBR tem alguma forma que verifico se o destinatário sou eu, pois essa nf que dei de exemplo pra fins de manifesto não me interessa, ai queria desprezá-la

Você pode verificar se recebeu o resumo da NFe, nesse caso com certeza é o destinatário. Se for o XML completo, carregar o XML no componente ACBrNFe e comparar a tag dest.CNPJCPF.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link to comment
Share on other sites

Meu caro BigWings

 

Estou com dificuldade nessa parte do resumo do xml...

 

Meu codigo tá assim

 for i := 0 to nfe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count -1 do
          ProcessarRetornoNfeCte(nfe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip);

 


procedure TProcessoManifestoDestinatario.ProcessarRetornoNfeCte(retorno : TdocZipCollectionItem);
var
s: string;
begin
  if (Trim(retorno.resDFe.chDFe) = '') then
    Exit;

  cdsMd.Append;
  cdsMd.ProximaChave;
  cdsMd.FieldByName('MANDESTDATAREC').AsDateTime := Now;
  cdsMd.FieldByName('MANDESTCHAVE').AsString := retorno.resDFe.chDFe;
  cdsMd.FieldByName('MANDESTSIT').AsInteger := ord(esmPENDENTE);
  cdsMd.FieldByName('MANDESTEMP').AsInteger := GetSessao.EmpAtiva;
  cdsMd.FieldByName('MANDESTDATAEMISSAO').AsDateTime := retorno.resDFe.dhEmi;
  cdsMd.FieldByName('MANDESTNOME').AsString := UpperCase(retorno.resDFe.xNome);
  cdsMd.FieldByName('MANDESTCNPJCPF').AsString := FormataCNPJ(retorno.resDFe.CNPJCPF);
  cdsMd.FieldByName('MANDESTPROT').AsString := retorno.resDFe.nProt;
  cdsMd.FieldByName('MANDESTVALOR').AsFloat := retorno.resDFe.vNF;
  cdsMd.FieldByName('MANDESTDOC').AsInteger := StrToInt(Copy(retorno.resDFe.chDFe, 26,9));
  cdsMd.FieldByName('MANDESTMODELO').AsInteger := StrToInt(Copy(retorno.resDFe.chDFe, 21,2));
  cdsMd.FieldByName('MANDESTXML').AsString := retorno.XML;
  cdsMd.Post;
end;

 

Porém nesse retorno ai não está vindo apenas xml cujo meu CNPJ é o destinatário.

A outra dica que vc deu foi carregar o xml no componente, tem algum tutorial ai que posso me ajudar ?

 

 

Obrigado

 

 

Link to comment
Share on other sites

  • Moderadores
procedure TProcessoManifestoDestinatario.ProcessarRetornoNfeCte(retorno : TdocZipCollectionItem);
begin
  
  case retorno.Schema of
    schresNfe: { carregar resumo da NFe para manifestação }
    schprocNFe: begin
      nfe.NotasFiscais.Clear;
      nfe.LoadFromFile(retorno.XML);
      if nfe.NotasFiscais[0].NFe.dest.CNPJCPF = AMeuCNPJoucPF then
        { carregar XML completo }
    schresEvento: { resumo de evento };
    schprocEvento: { evento completo }
  end;

end;

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link to comment
Share on other sites

  • 2 weeks later...

Prezado bigwings,

 

Deu certo em parte. Consegui carregar os xmls e tal, mas como a empresa que estava testando utilizando outro sistema pra manifestar as notas, assim estava vindo o xml completo. No entanto, quando a nf não esta manifestada, não consigo obter o xml. Precisando implementar a captura do resumo da NFe

 

 

Conseguiria me ajudar tb nisso ?

Dei uma olhada no exemplo do ACBR e não achei esse trecho.

 

 

Link to comment
Share on other sites

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