Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Quando carrega um XML de um MDF-e a tag <UF> do veículo (tração ou reboque) está sendo alterada para a mesma UF do proprietário.

 

Exemplo:

 

<prop>

    <CPF>0000000000</CPF>

    <RNTRC>00000000</RNTRC>

    <xNome>XXXXXXXXX</xNome>

    <IE>ISENTO</IE>

    <UF>PA</UF>

    <tpProp>2</tpProp>

</prop>

<condutor>

    <xNome>XXXXXXXXXXX</xNome>

    <CPF>11111111111</CPF>

</condutor>

<tpRod>03</tpRod>

<tpCar>00</tpCar>

<UF>SP</UF>

</veicTracao>

 

Depois que carrega o XML no componente, ele altera para:

 

<prop>

    <CPF>0000000000</CPF>

    <RNTRC>00000000</RNTRC>

    <xNome>XXXXXXXXX</xNome>

    <IE>ISENTO</IE>

    <UF>PA</UF>

    <tpProp>2</tpProp>

</prop>

<condutor>

    <xNome>XXXXXXXXXXX</xNome>

    <CPF>11111111111</CPF>

</condutor>

<tpRod>03</tpRod>

<tpCar>00</tpCar>

<UF>PA</UF>

</veicTracao>

 

Isso acontece quando o componente lê o XML ele está buscando o primeiro campo UF que encontra.

 

Postado

Olá Ítalo, o campo UF está retornando agora '<U'

 

Para o Veículo Tração, acho que teve um pequeno engano, é só alterar o parâmetro copy posição inicial de 1 para 5.

 

copy(Leitor.rExtrai(3, 'UF', '', 2), 1, 2);

para

copy(Leitor.rExtrai(3, 'UF', '', 2), 5, 2);

 

Já para o veículo reboque está errado porque está trazendo a UF do Veículo Tração. 

  • Consultores
Postado

Boa tarde ncc,

 

Fiz a correção sugerida, mas não sei se vai resolver por completo.

 

Acredito que o problema só será resolvido de forma definitiva fazendo uma alteração na function que lê o conteúdo de uma TAG.

 

Como essa function é utilizada por diversos componentes, essa alteração tem que ser feita com muito cuidado, para não afetar os demais componentes.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Olá Italo.

 

Deu problema dessa forma. Usando o rExtrai ele limpa os dados do proprietário e condutor que vem logo abaixo.

Como alternativa eu pensei de fazer dessa forma:

copy(Leitor.Grupo,(Pos('</tpCar>', Leitor.Grupo)+12),2);

 

Eu sei que essa não é a maneira ideal de resolver isso, mas foi o que eu pensei até a gente achar uma solução melhor.

  • 3 semanas depois ...
Postado

Olá Italo.

 

Depois que atualizei os fontes, ao carregar o XML percebi que nos dados do proprietário do VeicReboque está vindo os dados do proprietário do VeicTracao.

 

Para corrigir, alterei a linha ~240 de 

 

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

 

para

 

if Leitor.rExtrai(4, 'prop') <> '' then

 

 

Só que essa modificação pra ficar correta, depende da alteração que eu sugeri anteriormente.

 

Até a gente não achar uma solução melhor, não dá para deixar da forma que eu sugeri para trazer os dados corretamente?

 

Anexei pmdfeMDFeR.pas para você poder analisar.

 

 

 

 

 

 

 

pmdfeMDFeR.pas

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