Ir para conteúdo
  • Cadastre-se

dev botao

Erro na leitura do XML do CTe


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

Recommended Posts

Boa tarde pessoas!

Primeiro gostaria de agradecer a parabenizar a todos os desenvolvedores e colaboradores do projeto ACBR. realmente muito bom!

Bom, vamos ao assunto do dia.

Constatei que ao efetuar a leitura do XML do CTe utilizando a classe TCTeR função LerXml, mais especificamente na linha 237, não esta sendo carregado o valor da propriedade TipoData e TipoHora do objeto TEntrega. Fiz a correção aqui e estou enviando abaixo a parte corrigida para ser adicionada ao projeto.


if Leitor.rExtrai(2, 'Entrega') <> '' then

    begin

      if Leitor.rExtrai(3, 'semData') <> '' then

      begin

        CTe.Compl.Entrega.TipoData := tdSemData; // 02/05/2012 13:51:33 - Roberto Godinho

        CTe.Compl.Entrega.semData.tpPer := StrToTpDataPeriodo(ok, Leitor.rCampo(tcStr, 'tpPer'));

      end;


      if Leitor.rExtrai(3, 'comData') <> '' then

      begin

        CTe.Compl.Entrega.TipoData := tdNaData; // 02/05/2012 13:51:33 - Roberto Godinho

        CTe.Compl.Entrega.comData.tpPer := StrToTpDataPeriodo(ok, Leitor.rCampo(tcStr, 'tpPer'));

        CTe.Compl.Entrega.comData.dProg := Leitor.rCampo(tcDat, 'dProg');

      end;


      if Leitor.rExtrai(3, 'noPeriodo') <> '' then

      begin

        CTe.Compl.Entrega.TipoData := tdNoPeriodo; // 02/05/2012 13:51:33 - Roberto Godinho

        CTe.Compl.Entrega.noPeriodo.tpPer := StrToTpDataPeriodo(ok, Leitor.rCampo(tcStr, 'tpPer'));

        CTe.Compl.Entrega.noPeriodo.dIni  := Leitor.rCampo(tcDat, 'dIni');

        CTe.Compl.Entrega.noPeriodo.dFim  := Leitor.rCampo(tcDat, 'dFim');

      end;


      if Leitor.rExtrai(3, 'semHora') <> '' then

      begin

        CTe.Compl.Entrega.TipoHora := thSemHorario; // 02/05/2012 13:51:33 - Roberto Godinho

        CTe.Compl.Entrega.semHora.tpHor := StrToTpHorarioIntervalo(ok, Leitor.rCampo(tcStr, 'tpHor'));

      end;


      if Leitor.rExtrai(3, 'comHora') <> '' then

      begin

        CTe.Compl.Entrega.TipoHora := thNoHorario; // 02/05/2012 13:51:33 - Roberto Godinho

        CTe.Compl.Entrega.comHora.tpHor := StrToTpHorarioIntervalo(ok, Leitor.rCampo(tcStr, 'tpHor'));

        CTe.Compl.Entrega.comHora.hProg := StrToTime(Leitor.rCampo(tcStr, 'hProg'));

      end;


      if Leitor.rExtrai(3, 'noInter') <> '' then

      begin

        CTe.Compl.Entrega.TipoHora := thNoIntervalo; // 02/05/2012 13:51:33 - Roberto Godinho

        CTe.Compl.Entrega.noInter.tpHor := StrToTpHorarioIntervalo(ok, Leitor.rCampo(tcStr, 'tpHor'));

        CTe.Compl.Entrega.noInter.hIni  := StrToTime(Leitor.rCampo(tcStr, 'hIni'));

        CTe.Compl.Entrega.noInter.hFim  := StrToTime(Leitor.rCampo(tcStr, 'hFim'));

      end;

    end;

Obrigado galera e no decorrer dos testes se encontrar mais alguma coisa estarei postando aqui.

T+

Link para o comentário
Compartilhar em outros sites

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