Ir para conteúdo
  • Cadastre-se

dev botao

Pegar valor cStat por Consulta NFeChave


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

Recommended Posts

No exemplo no demo temos:

  ACBrNFe1.NotasFiscais.Clear;
  ACBrNFe1.WebServices.Consulta.NFeChave := vChave;
  ACBrNFe1.WebServices.Consulta.Executar;

  MemoResp.Lines.Text := ACBrNFe1.WebServices.Consulta.RetWS;
  memoRespWS.Lines.Text := ACBrNFe1.WebServices.Consulta.RetornoWS;
  LoadXML(ACBrNFe1.WebServices.Consulta.RetornoWS, WBResposta);
  LoadConsulta201(ACBrNFe1.WebServices.Consulta.RetWS);

Devido ao problema de não conseguir capturar as "canceladas" (link) decidi voltar para o webservice antigo, porém, estou consumindo há alguns meses e o webservice novo se mostrou melhor.

Após cada consulta, quero verificar por chave de acesso pra pegar o cStat para dar update na minha tabela de destinadas. Como capturo isso? Não consigo achar a propriedade nesse retorno. Terei que ler entre as tags <> </>?

Detalhei a explicação para que caso alguém tenha uma ideia melhor, possa sugerir. Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

Alguém me ajuda com essa lógica

 

       if acbrnfMain.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i]
          .resNFe.chNFe <> '' then
        begin
          Application.ProcessMessages;

          acbrnfChave.NotasFiscais.Clear;
          acbrnfChave.WebServices.Consulta.NFeChave :=
            acbrnfMain.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[i]
            .resNFe.chNFe;
          acbrnfChave.WebServices.Consulta.Executar;

          if acbrnfChave.WebServices.Consulta.procEventoNFe.Count > 0 then
          begin
            for l := 0 to acbrnfChave.WebServices.Consulta.procEventoNFe.Count - 1 do
            begin
              for j := 0 to acbrnfChave.WebServices.Consulta.procEventoNFe.Items[l].RetEventoNFe.retEvento.Count - 1 do
              begin
                case acbrnfChave.WebServices.Consulta.procEventoNFe.Items[l].RetEventoNFe.retEvento.Items[j].RetInfEvento.cStat of
                  101:
                    Impresso := 'C';
                  151:
                    Impresso := 'C';
                  155:
                    Impresso := 'C';
                end;
              end;
            end;
          end;

          case acbrnfMain.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items
            [i].resNFe.tpNF of
            tnEntrada:
              sTipoNFe := 'E';
            tnSaida:
              sTipoNFe := 'S';
          end;
          case acbrnfMain.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items
            [i].resNFe.cSitNFe of
            snAutorizado:
              Impresso := 'A';
            snDenegado:
              Impresso := 'D';
            snCancelado:
              Impresso := 'C';
          end;

          if dtmdlapNotasDestinadas.VerDuplicidadeNFe
            (acbrnfMain.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items
            [i].resNFe.chNFe) = False then
          begin
            dtmdlapNotasDestinadas.SaveDestinadas(CnpjCpf,
              acbrnfMain.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items
              [i].resNFe.chNFe,
              acbrnfMain.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items
              [i].resNFe.CnpjCpf,
              acbrnfMain.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items
              [i].resNFe.xNome,
              acbrnfMain.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items
              [i].resNFe.IE, sTipoNFe,
              acbrnfMain.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items
              [i].resNFe.dhEmi,
              acbrnfMain.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items
              [i].resNFe.vNF, Impresso,
              Copy(acbrnfMain.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.
              Items[i].resNFe.chNFe, 26, 9) + '-' +
              Copy(acbrnfMain.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.
              Items[i].resNFe.chNFe, 23, 3));
          end;
        end;

 

Link para o comentário
Compartilhar em outros sites

25 minutos atrás, Pablo Ricardo disse:

Seria essa a solução 

Não entendi bem, meu velho...
Você está com uma dúvida ou está dando a dica ?


                 case acbrnfChave.WebServices.Consulta.procEventoNFe.Items[l]
                  .RetEventoNFe.retEvento.Items[j].RetInfEvento.tpEvento of
                  teCancelamento:
                    Impresso := 'C';

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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