Página 1 de 1
XmlToDocNfeEmi da Classe do Quintas
Enviado: 28 Fev 2017 14:05
por janio
Ola a todos,
Uso com sucesso a classe do Quintas que contem a função acima, para leitura de xml de fornecedores!
Porém, num xml específico a função não encontra o det nItem="10" do xml. Qndo chega nesse item a variavel retorna vazia e sai do loop.
Não consegui ver onde esta o erro
Janio
XmlToDocNfeEmi da Classe do Quintas
Enviado: 28 Fev 2017 14:12
por rubens
Você não está errando nada a Classe tem esse "problema" que eu também não consegui resolver aqui...
Se os itens estão fora de ordem, que pra começar é um absurdo, dá esse erro. A classe do simplesmente entende que é o final do xml e finaliza...
Como é raro esse tipo de nota, eu edito o xml com o notepad e devolvo o xml para o cliente "corrigido" aí sim ele dá conta de importar o xml com a classe...
Rubens
XmlToDocNfeEmi da Classe do Quintas
Enviado: 28 Fev 2017 16:21
por janio
Isso mesmo, Rubens.
Mas se vc colocar o
cBlocoDetalhe dentro do loop, ele passa a encontrar todos os produtos.
Mas penso essa nao ser a melhor solução!
Código: Selecionar todos
cBlocoDetalhe := ""
IF "<det" $ cXmlInput
cBlocoDetalhe := Substr( cXmlInput, At( "<det", cXmlInput ) - 1 )
ENDIF
FOR nCont = 1 TO 1000
cBlocoDetalhe := ""
IF "<det" $ cXmlInput
cBlocoDetalhe := Substr( cXmlInput, At( "<det", cXmlInput ) - 1 )
ENDIF
cBlocoItem := XmlNode( cBlocoDetalhe, [det nItem="] + AllTrim( Str( nCont ) ) + ["] )
IF Len( Trim( cBlocoItem ) ) = 0 // Se acabaram os itens
EXIT
ENDIF
AAdd( oNFE:Produto, NFEProdutoClass():New() )
...