Gerar XML - NFE.PRG
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Gerar XML - NFE.PRG
No caso da classe de XML, eu zero tudo no New()
Me chamou a atenção uma coisa no seu fonte, ::hHash
Nem sei como se zera uma variável do tipo hash......
Me chamou a atenção uma coisa no seu fonte, ::hHash
Nem sei como se zera uma variável do tipo hash......
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Gerar XML - NFE.PRG
Boa noite, Quintas, boa noite a todos..
Quintas, eu fui na sua "página incial" abaixo e vasculhei tudo
https://github.com/JoseQuintas/sefazclass
Mas não encontrei a Função XmlToNota()
Será que eu fui na página errada ou o nome da função ta errada ?
Obrigado..
Quintas, eu fui na sua "página incial" abaixo e vasculhei tudo
https://github.com/JoseQuintas/sefazclass
Mas não encontrei a Função XmlToNota()
Código: Selecionar todos
cXml := MemoRead( "arquivo.xml" )
oNota := XmlToNota( cXml )
? oNota:Emitente:Cnpj
? oNota:Emitente:Nome
? oNota:Emitente:Endereco
Obrigado..
lugab
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Gerar XML - NFE.PRG
Desculpe, errei o nome.
XmlToDoc()
Tá na classe de XML: ze_SpedXmlClass.prg
https://github.com/JoseQuintas/sefazcla ... lClass.prg
É que ela não atende somente nota, também MDFE, CTE, Carta de Correção, Cancelamento....
Mas de forma mais limitada para CTE e MDFE.
XmlToDoc()
Tá na classe de XML: ze_SpedXmlClass.prg
https://github.com/JoseQuintas/sefazcla ... lClass.prg
É que ela não atende somente nota, também MDFE, CTE, Carta de Correção, Cancelamento....
Mas de forma mais limitada para CTE e MDFE.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Gerar XML - NFE.PRG
Valeu, Quintas.. Vou procurar e compilar pra ver..
Enquanto isso, estou com um problema e preciso de ajuda.
Não sei como fazer a função AT() avançar para o próximo <xprod> de forma que
sempre fico exibindo o primeiro PRODUTO de um XML que possui mais onze produtos.
Alguém sabe o que falta fazer para que o AT() posicione o ponteiro nos próximos <xprod> ??
Enquanto isso, estou com um problema e preciso de ajuda.
Não sei como fazer a função AT() avançar para o próximo <xprod> de forma que
sempre fico exibindo o primeiro PRODUTO de um XML que possui mais onze produtos.
Alguém sabe o que falta fazer para que o AT() posicione o ponteiro nos próximos <xprod> ??
Código: Selecionar todos
L=12
XmlProdutos = XmlNode(XmlNota,"det")
For i=1 to 99
if L>21
Msg(24,12,"tecle algo p/prosseguir",.F.)
@ 12,02 clea to 21,79
L=12
endif
TbNome = XmlNode(Xmlprodutos,"xProd")
TbNcm = XmlNode(Xmlprodutos,"NCM")
TbCfop = XmlNode(Xmlprodutos,"CFOP")
TbQuaent=XmlNode(Xmlprodutos,"qCom")
TbValent=XmlNode(Xmlprodutos,"vUnCom")
TbValTot=XmlNode(Xmlprodutos,"vProd")
@ l,00 say strzero(i,2)
@ l,03 say TbNcm
@ L,17 say substr(Tbnome,1,16)
@ L,34 say val(Tbquaent) pict "@e 999,999"
@ L,42 say val(Tbvalent) pict "@e 99999.99"
@ L,53 say val(TbIcms) pict "@e 99999.99"
@ L,62 say val(Tbipi) pict "@e 99999.99"
@ L,71 say val(TbValtot) pict "@e 99999.99"
L=L+1
Next I
Msg(24,32,"Fim de exibicao",.F.)
retu
*------------------------------
Function XmlNode(mXml,mNode)
*-------------------------------
Local mTexto := "", mInicio := 0, mFim := 0
mInicio := AT("<" + mNode + ">",mXml)+ (len(mNode)+2)
mFim := AT("</" + mNode + ">", mXml)
If mInicio != 0 .And. mFim != 0
mTexto := Substr(mXml,mInicio,mFim-mInicio)
Endif
Return mTexto
01 04031000 DANONE GREGO ORI 2 5,19 0,00
02 04031000 DANONE GREGO ORI 2 5,19 0,00
03 04031000 DANONE GREGO ORI 2 5,19 0,00
04 04031000 DANONE GREGO ORI 2 5,19 0,00
05 04031000 DANONE GREGO ORI 2 5,19 0,00
06 04031000 DANONE GREGO ORI 2 5,19 0,00
07 04031000 DANONE GREGO ORI 2 5,19 0,00
08 04031000 DANONE GREGO ORI 2 5,19 0,00
09 04031000 DANONE GREGO ORI 2 5,19 0,00
10 04031000 DANONE GREGO ORI 2 5,19 0,00
lugab
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Gerar XML - NFE.PRG
Ou usa hb_At(), que tem parâmetro pra indicar o início da pesquisa, ou pode ir cortando o produto do XML.
Código: Selecionar todos
Xml := Substr( Xml, At( "</Prod", Xml ) + 7 )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Gerar XML - NFE.PRG
Oi, Quintas, desculpe a demora na resposta, eu tava em viagem...
Eu optei pela sua sugestão de ir cortando a parte já usada e sim, funcionou perfeito...
Muito obrigado mais uma vez...
Eu optei pela sua sugestão de ir cortando a parte já usada e sim, funcionou perfeito...
Muito obrigado mais uma vez...
lugab
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Gerar XML - NFE.PRG
Pois é... foi o que passei num link anterior.
Veja o link aberto, se não foi o que você fez.
O "</Prod" nessa função é o "</" + cNode, onde vai passar pra função o "Prod", que vai ficar na variável cNode.
Veja o link aberto, se não foi o que você fez.
O "</Prod" nessa função é o "</" + cNode, onde vai passar pra função o "Prod", que vai ficar na variável cNode.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Gerar XML - NFE.PRG
Valeu Quintas,
Eu até baixei isso aí, mas não compilou, faltou um monte de coisas.
Postagens omitindo quais Lib e .Ch são necessários acrescentar, fazem a gente terminar desistindo.
Eu preferi seguir aquele exemplo feijão-com-arroz do início e desenvolver "eu mesmo" o resto em cima dele.
Um abraço
Eu até baixei isso aí, mas não compilou, faltou um monte de coisas.
Postagens omitindo quais Lib e .Ch são necessários acrescentar, fazem a gente terminar desistindo.
Eu preferi seguir aquele exemplo feijão-com-arroz do início e desenvolver "eu mesmo" o resto em cima dele.
Um abraço
lugab
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Gerar XML - NFE.PRG
Esse é um arquivo do projeto sefazclass.
Na página inicial baixa o projeto inteiro, incluindo exemplo e hbp.
https://github.com/JoseQuintas/sefazclass
Na página inicial baixa o projeto inteiro, incluindo exemplo e hbp.
https://github.com/JoseQuintas/sefazclass
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Gerar XML - NFE.PRG
Ok, Quintas, já peguei as funções faltantes.
Compilei e deu tudo certo..
Muito obrigado, mestre !!!
Compilei e deu tudo certo..
Muito obrigado, mestre !!!
lugab
