Jump to content
Fivewin Brasil

FIM DA TXT2XML NFE 4.00


MARSAN

Recommended Posts

Bom dia.

Sempre utilizei o arquivo txt para gerar as nfes. A flexdocs nao vai dar continuidade mais me deixando na mao.

Sou dos antigos clippeiros e estou tendo muitaaaa dificultade para gerar um xml no braco.

Como os amigos mais experientes estao fazendo??

 

desde ja agradeco a atencao.

abracos

Link to comment
Share on other sites

Amigo,

Sabemos que todas as mudanças são difíceis, mas são compensadoras, suas dificuldades iniciais vão trazer benefícios enormes quando gerar o primeiro arquivo direto por xml, uma delas é a interpretação do arquivo e possíveis erros.

Não uso Flexdoc, então, não posso te ajudar neste sentido, pois eu  gero o arquivo inteiro em xml sem utilizar DLL externas e nem o método TxmlDocument , mas, aconselho a fazer por funções gerando e concatenando cada etapa dele, exemplo:

Cabeçalho

grupo IDE

grupo emit

grupo dest e suas opções de endereços

grupo prod

e assim até o fim e  verá que não é bicho de 7 cabeças.

Eu não uso os métodos TxmlDocument, gero direto

[]s,

Link to comment
Share on other sites

@Marsan, utilize o TXmlDocument

Um exemplo básico para começar:

FUNCTION ......

nHandle:=Fopen(arquivo_xml)

oXml:=TXmlDocument():new(nHandle,1)

cTag:='nNF'
cParent:='ide'
cData:=''

oNode:=oXml:FindFirst(cTag)

FOR AA:=1 TO 2
   IF oNode:oParent:cName == cParent
      cData:=oNode:cData
   ELSE
      oNode:=oXml:FindNext(cTag)      
   ENDIF
NEXT

IF EMPTY(cData)
   ?'Tag informada não encontrada'
ELSE
   ?'Valor encontrado para a tag '+cTag,cData
ENDIF

RETURN

Faça uns testes, veja os retornos, etc, aí é só declarar um vetor com as tags e parents e obter todo o conteúdo necessário e tratar.

 

edit: após o trecho cData:=oNode:cData, deveria ter um EXIT.

 

Att

Erciley Coimbra

Link to comment
Share on other sites

 

@Marsan, utilize o TXmlDocument

Um exemplo básico para começar:


FUNCTION ......

nHandle:=Fopen(arquivo_xml)

oXml:=TXmlDocument():new(nHandle,1)

cTag:='nNF'
cParent:='ide'
cData:=''

oNode:=oXml:FindFirst(cTag)

FOR AA:=1 TO 2
   IF oNode:oParent:cName == cParent
      cData:=oNode:cData
   ELSE
      oNode:=oXml:FindNext(cTag)      
   ENDIF
NEXT

IF EMPTY(cData)
   ?'Tag informada não encontrada'
ELSE
   ?'Valor encontrado para a tag '+cTag,cData
ENDIF

RETURN

Faça uns testes, veja os retornos, etc, aí é só declarar um vetor com as tags e parents e obter todo o conteúdo necessário e tratar.

 

edit: após o trecho cData:=oNode:cData, deveria ter um EXIT.

 

Att

Erciley Coimbra

Erciley, acho que ele quer gerar a nota e não ler o xml.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...