Ir para conteúdo
  • Cadastre-se

dev botao

Erro leitura XML NFSE


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

Recommended Posts

Bom dia,

 

Recebi um XML da prefeitura de São José Santa Catarina, no campo vencimento esta assim 2019-02-15T00:00:00-02:00, mais na UNIT pcnLeitor o trecho do código esta assim ?

    tcDatVcto:
      begin
        if length(ConteudoTag)>0 then
          result := EncodeDate(StrToInt(copy(ConteudoTag, 07, 4)), StrToInt(copy(ConteudoTag, 04, 2)), StrToInt(copy(ConteudoTag, 01, 2)))
        else
          Result := 0;
      end;
 

Sendo assim esta o erro exception class EConvertError with message ''9-' is not a valid integer value

 

o correto seria 

    tcDatVcto:
      begin
        if length(ConteudoTag)>0 then
          result := EncodeDate(StrToInt(copy(ConteudoTag, 01, 4)), StrToInt(copy(ConteudoTag, 05 2)), StrToInt(copy(ConteudoTag, 07, 2)))
        else
          Result := 0;
      end; 

 

segue a unit corrigida.

 

 

 

pcnLeitor.pas

Agora, Amaro José Loch disse:

Bom dia,

 

Recebi um XML da prefeitura de São José Santa Catarina, no campo vencimento esta assim 2019-02-15T00:00:00-02:00, mais na UNIT pcnLeitor o trecho do código esta assim ?

    tcDatVcto:
      begin
        if length(ConteudoTag)>0 then
          result := EncodeDate(StrToInt(copy(ConteudoTag, 07, 4)), StrToInt(copy(ConteudoTag, 04, 2)), StrToInt(copy(ConteudoTag, 01, 2)))
        else
          Result := 0;
      end;
 

Sendo assim esta o erro exception class EConvertError with message ''9-' is not a valid integer value

 

o correto seria 

    tcDatVcto:
      begin
        if length(ConteudoTag)>0 then
          result := EncodeDate(StrToInt(copy(ConteudoTag, 01, 4)), StrToInt(copy(ConteudoTag, 05 2)), StrToInt(copy(ConteudoTag, 07, 2)))
        else
          Result := 0;
      end; 

 

segue a unit corrigida.

 

 

 

pcnLeitor.pas

 

 

ou poderíamos criar um novo campo para não da conflito com outros XMLS segue:

 

 

 

 

 

 

 

 

pcnLeitor.pas

pcnConversao.pas

pnfsNFSeR.pas

Link para o comentário
Compartilhar em outros sites

12 minutos atrás, Amaro José Loch disse:

Bom dia,

 

Recebi um XML da prefeitura de São José Santa Catarina, no campo vencimento esta assim 2019-02-15T00:00:00-02:00, mais na UNIT pcnLeitor o trecho do código esta assim ?

    tcDatVcto:
      begin
        if length(ConteudoTag)>0 then
          result := EncodeDate(StrToInt(copy(ConteudoTag, 07, 4)), StrToInt(copy(ConteudoTag, 04, 2)), StrToInt(copy(ConteudoTag, 01, 2)))
        else
          Result := 0;
      end;
 

Sendo assim esta o erro exception class EConvertError with message ''9-' is not a valid integer value

 

o correto seria 

    tcDatVcto:
      begin
        if length(ConteudoTag)>0 then
          result := EncodeDate(StrToInt(copy(ConteudoTag, 01, 4)), StrToInt(copy(ConteudoTag, 05 2)), StrToInt(copy(ConteudoTag, 07, 2)))
        else
          Result := 0;
      end; 

 

segue a unit corrigida.

 

 

 

pcnLeitor.pas

 

 

ou poderíamos criar um novo campo para não da conflito com outros XMLS segue:

 

 

 

 

 

 

 

 

pcnLeitor.pas

pcnConversao.pas

pnfsNFSeR.pas

 

pcnLeitor.pas

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Amaro,

O tipo tcDatHor (que já existe) não resolveria o problema?

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Amaro,

Somente a tag referente a data de vencimento ocorre o erro ao ler o XML?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Amaro,

Ainda hoje vou disponibilizar uma alteração, quem sabe resolve o problema.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Amaro,

Favor atualizar os fontes e faça novos testes.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

16 minutos atrás, Italo Jurisato Junior disse:

Boa tarde Amaro,

Favor atualizar os fontes e faça novos testes.

Boa tarde,

 

 

Vi que você esta pegando a datahora da nota fiscal. Funcionou em parte.

Caso alguém queira pegar a data de vencimento mesmo não vai conseguir, não seria mais interessante criar uma nova variável para que as pessoas possam ter a data de vencimento informado pelo cliente?

 

Muito obrigado.

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Amaro,

Mas a data de vencimento não é a que se encontra dentro da tag DataVencimento?

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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