Ir para conteúdo
  • Cadastre-se

Carlos.Batista

Membros
  • Total de ítens

    3
  • Registro em

  • Última visita

Posts postados por Carlos.Batista

  1. Ha Resolvi o problema desa forma 

    FACBrMDFe.WebServices.Consulta.MDFeChave := FMDfeModel.ChvMdfe;
      FACBrMDFe.WebServices.Consulta.Executar;
      ACBrUtil.WriteToTXT(SysTempDir + 'temp.xml', ACBrUtil.ConverteXMLtoUTF8(FACBrMDFe.WebServices.Consulta.RetornoWS), False, False);

      LXMLDocument.LoadFromFile(SysTempDir + 'temp.xml');
      Self.PercorrerXML(LXMLDocument.DocumentElement);

     

    procedure TForm1.PercorrerXML(const AXMLDocument: IXMLNode);
    var
      LIndexPrincipal, LIndexProcEventoMDFe, LIndexEventoMDFe: Integer;
      LNodeProcEvento, LNodeEventoMDFe, LNode: IXMLNode;
      LNodeNameProcEventoMDFe, LNodeName: String;
    begin
      if AXMLDocument <> nil then
      begin
        if AXMLDocument.HasChildNodes then
          for LIndexPrincipal := 0 to Pred(AXMLDocument.ChildNodes.Count) do
          begin
            LNodeNameProcEventoMDFe := AXMLDocument.ChildNodes[LIndexPrincipal].NodeName;
            if 'procEventoMDFe' = LNodeNameProcEventoMDFe then
            begin
              LNodeProcEvento := AXMLDocument.ChildNodes[LIndexPrincipal];
              LNode := GetNodeXML(LNodeProcEvento, 'retEventoMDFe');
              Self.PersistDadosRetornoEvento(LNode);
              LNode := GetNodeXML(LNodeProcEvento, 'eventoMDFe');
              LNode := GetNodeXML(LNode, 'infEvento');
              Self.PersistDetEvento(LNode);
            end;
            Self.PercorrerXML(AXMLDocument.ChildNodes[LIndexPrincipal]);
          end;
      end;
    end;

  2. Boa tarde estou com dificuldade em obter os dados vinculados no evento de inclusão nf, nao sei o que estou fazendo de erado,

    nesse trecho sempre esta vazio > procEventoMDFe.Items[I].RetEventoMDFe.infEvento.DetEvento.infDoc.Count

     

     

      FACBrMDFe.WebServices.Consulta.MDFeChave := FMDfeModel.ChvMdfe;
      FACBrMDFe.WebServices.Consulta.Executar;

     with FACBrMDFe.WebServices.Consulta do
      begin
        for I := 0 to pred(procEventoMDfe.Count) do
        begin
          if (procEventoMDFe.Items[I].RetEventoMDFe.InfEvento.tpEvento = teInclusaoDFe) and
            (procEventoMDFe.Items[I].RetEventoMDFe.InfEvento.nSeqEvento >= ASequencia) then
          begin
           try
              LModel := TMdfeEventosModel.Create();
              LMdfeNfeModel := TMdfeNfeModel.Create();

              LModel.CarregarProtocolo(procEventoMDFe.Items[I].RetEventoMDFe.retEvento.Items[0].RetInfEvento.nProt);
              LModel.MdfeId := FMDfeModel.Id;
              LModel.CodigoOperacao := IntToStr(ALote);
              LModel.MdfeDescricaoOperacao := 'Inclusão de DF-e';
              LModel.Status := procEventoMDFe.Items[I].RetEventoMDFe.retEvento.Items[0].RetInfEvento.cStat;
              LModel.HistoricoOperacao := procEventoMDFe.Items[I].RetEventoMDFe.retEvento.Items[0].RetInfEvento.xMotivo;
              LModel.Protocolo := procEventoMDFe.Items[I].RetEventoMDFe.retEvento.Items[0].RetInfEvento.nProt;
              LModel.DataHoraOperacao := procEventoMDFe.Items[I].RetEventoMDFe.retEvento.Items[0].RetInfEvento.dhRegEvento;
              LModel.Sequencia := procEventoMDFe.Items[I].RetEventoMDFe.retEvento.Items[0].RetInfEvento.nSeqEvento;
              LModel.Persiste();

              for J := 0 to pred(procEventoMDFe.Items[I].RetEventoMDFe.infEvento.DetEvento.infDoc.Count) do
              begin
                LMdfeNfeModel.CarregarEvento(LModel.Id);
                LMdfeNfeModel.NumMdfe := FMDfeModel.NumMdfe;
                LMdfeNfeModel.SerieMdfe := FMDfeModel.SerieMdfe;
                LMdfeNfeModel.Codcidade := FMDfeModel.CodMunCarrega;
                LMdfeNfeModel.Cidade := TCidadesDAO.GetDado('Cidade', FMDfeModel.CodMunCarrega);
                LMdfeNfeModel.CodigoCidadeCarrega := FMDfeModel.CodMunCarrega;
                LMdfeNfeModel.CodigoCidadeDescarrega := procEventoMDFe.Items[I].RetEventoMDFe.infEvento.DetEvento.infDoc.Items[J].cMunDescarga;
                LMdfeNfeModel.CidadeDescarrega := procEventoMDFe.Items[I].RetEventoMDFe.infEvento.DetEvento.infDoc.Items[J].xMunDescarga;
                LMdfeNfeModel.ChvNfe := procEventoMDFe.Items[I].RetEventoMDFe.infEvento.DetEvento.infDoc.Items[J].chNFe;
                LMdfeNfeModel.MdfeEventId := LModel.Id;
                LMdfeNfeModel.Persiste();
              end;
              ASequencia := procEventoMDFe.Items[I].RetEventoMDFe.InfEvento.nSeqEvento;
            finally
              FreeAndNil(LModel);
              FreeAndNil(LMdfeNfeModel);
            end;
          end;
        end;

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

The popup will be closed in 10 segundos...