Ir para conteúdo
  • Cadastre-se

dev botao

Dúvidas sobre desprezar determinados xmls


Ver Solução Respondido por Juliomar Marchetti,
  • Este tópico foi criado há 1298 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

  • Moderadores
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
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

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 para o comentário
Compartilhar em outros sites

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