Uso da classesefaz
Moderador: Moderadores
Uso da classesefaz
Bom dia,
Alguem saberia me dizer se a classesefaz está apta para uso em produção?
Alguem tem um exemplo de autorização de NFe?
Obrigado.
Gustavo
Alguem saberia me dizer se a classesefaz está apta para uso em produção?
Alguem tem um exemplo de autorização de NFe?
Obrigado.
Gustavo
Editado pela última vez por Toledo em 11 Ago 2016 07:26, em um total de 1 vez.
Razão: O presente tópico foi movido da seção CA-Clipper, uma vez que seu conteúdo não tem relação com os objetivos daquela seção, onde só podem constar dúvidas técnicas de programação diretamente relacionadas com o Clipper.
Razão: O presente tópico foi movido da seção CA-Clipper, uma vez que seu conteúdo não tem relação com os objetivos daquela seção, onde só podem constar dúvidas técnicas de programação diretamente relacionadas com o Clipper.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
É como sempre procuro chamar a atenção:
É tudo padrão, mas infelizmente só na teoria.
Precisa testar com sua UF, se vai precisar algum ajuste.
Este é meu fonte atual, aguardando que o cliente faça mais testes.
Por ser teste, tem muita gravação de temporário por precaução.
Como dá pra ver aí, basicamente é:
- gerar o XML
- assinar
- transmitir
- e conforme o retorno, tá pronto.
É tudo padrão, mas infelizmente só na teoria.
Precisa testar com sua UF, se vai precisar algum ajuste.
Este é meu fonte atual, aguardando que o cliente faça mais testes.
Por ser teste, tem muita gravação de temporário por precaução.
Código: Selecionar todos
/*
P0600NFE - ROTINAS DO SISTEMA
2012.06.27.0000 - José Quintas
...
2015.10.21.1940 - Ambiente homologação
2016.06.17.0900 - Utiliza hora emissão/saída gravada
2016.06.28.0230 - Ajuste
2016.07.03.2130 - Base de dados local
2016.07.18.1115 - Processa NFE
2016.07.26.1800 - Ajustes
*/
#include "jpa.ch"
#include "hbthread.ch"
FUNCTION P0600NFE()
LOCAL nSelect, cNfeTxt, cNfeXml, oSefaz := SefazClass():New(), cStatusAssinatura
MEMVAR m_Prog
PRIVATE m_Prog := "P0600NFE"
DirMake( "NFE\TMP" )
nSelect := Select()
IF .NOT. Encontra( jppedi->pdPedido, "jpnota", "pedido" )
MsgStop( "Inválido! Não tem nota emitida para esse pedido" )
RETURN .F.
ENDIF
IF jpnota->nfDatEmi != Date()
MsgStop( "Inválido! Nota fiscal não foi emitida hoje" )
RETURN .F.
ENDIF
IF jpnota->nfStatus == "C"
MsgStop( "Inválido! Nota fiscal cancelada, não há o que fazer" )
RETURN .F.
ENDIF
IF jpnota->nfPedido != jppedi->pdPedido
MsgStop( "Erro interno! Posicionado em NF diferente do pedido atual" )
RETURN .F.
ENDIF
wSave()
Cls()
SayScroll( "Gerando TXT e XML" )
NfeToXml( @cNfeTxt, @cNfeXml, "1", Date(), Time(), , , "1" )
SayScroll( "Gravando TXT" )
hb_MemoWrit( "NFE\TMP\NF" + jpnota->nfNotFis + ".txt", cNfeTxt )
SayScroll( "Gravando XML" )
hb_MemoWrit( "NFE\TMP\NF" + jpnota->nfNotFis + "-01-SemAssinatura.xml", cNfeXml )
SayScroll( "Assinando" )
cStatusAssinatura := AssinaXml( @cNfeXml, AppEmpresaApelido() )
IF cStatusAssinatura != "OK"
MsgExclamation( "Problema na assinatura " + cStatusAssinatura )
RETURN .F.
ENDIF
SayScroll( "Gravando Assinado" )
hb_MemoWrit( "NFE\TMP\NF" + jpnota->nfNotFis + "-02-Assinado.xml", cNfeXml )
oSefaz:cCertificado := NomeCertificado( AppEmpresaApelido() )
SayScroll( "Transmitindo Sefaz" )
oSefaz:NfeLoteEnvia( cNfeXml )
SayScroll( "Gravando resultado" )
hb_MemoWrit( "NFE\TMP\NF" + jpnota->nfNotFis + "-03-Recibo.xml", oSefaz:cXmlRecibo )
hb_MemoWrit( "NFE\TMP\NF" + jpnota->nfNotFis + "-04-Protocolo.xml", oSefaz:cXmlProtocolo )
IF oSefaz:cStatus == "101"
hb_MemoWrit( "NFE\NF" + jpnota->nfNotFis + "-05-Autorizado.xml", oSefaz:cXmlAutorizado )
RUN ( "start d:\unidanfe\unidanfe.exe NFE\NF" + jpnota->nfNotFis + "-Autorizado.xml" )
MsgExclamation( "Nota autorizada" )
ELSEIF oSefaz:cStatus $ "202,302"
hb_MemoWrit( "NFE\NF" + jpnota->nfNotFis + "05-Denegado.xml" )
RUN ( "Start d:\unidanfe\unidanfe.exe NFE\NF" + jpnota->nfNotFis + "-Autorizado.xml" )
MsgExclamation( "Nota denegada" )
ELSE
hb_MemoWrit( "NFE\TMP\NF" + jpnota->nfNotFis + "-05-Erro.xml", oSefaz:cXmlProtocolo )
MsgExclamation( "Erro " + oSefaz:cXmlProtocolo )
ENDIF
SELECT ( nSelect )
wRestore()
RETURN NIL
Como dá pra ver aí, basicamente é:
- gerar o XML
- assinar
- transmitir
- e conforme o retorno, tá pronto.
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
Ou se facilitar, o fonte enxuto:
Código: Selecionar todos
FUNCTION P0600NFE()
LOCAL cNfeXml, oSefaz := SefazClass():New()
cNfeXml := "seu xml da nota"
IF AssinaXml( @cNfeXml, "nome do certificado" ) != "OK"
MsgExclamation( "Problema na assinatura " + cStatusAssinatura )
RETURN .F.
ENDIF
oSefaz:cCertificado := "nome do certificado"
oSefaz:NfeLoteEnvia( cNfeXml )
IF oSefaz:cStatus == "101"
hb_MemoWrit( "NFE\NF" + jpnota->nfNotFis + "-05-Autorizado.xml", oSefaz:cXmlAutorizado )
ELSEIF oSefaz:cStatus $ "202,302"
hb_MemoWrit( "NFE\NF" + jpnota->nfNotFis + "05-Denegado.xml" )
ELSE
MsgExclamation( "Erro " + oSefaz:cXmlProtocolo )
ENDIF
RETURN NIL
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/
Uso da classesefaz
Boa noite
Obrigado pela dica Jose Quintas mas não consegui validar o xml no sefaz o erro devolvido é (225-Rejeição: Falha no Schema XML do lote NF-e).
Este mesmo arquivo am anexo, é enviado pelo acbr monitor é autorizado sem problema.
Mais alguma dica?
Obrigado
Gustavo.
Obrigado pela dica Jose Quintas mas não consegui validar o xml no sefaz o erro devolvido é (225-Rejeição: Falha no Schema XML do lote NF-e).
Este mesmo arquivo am anexo, é enviado pelo acbr monitor é autorizado sem problema.
Mais alguma dica?
Obrigado
Gustavo.
- Anexos
-
- NFe35160856782766000120550010000000231000000233-pre.xml
- (2.57 KiB) Baixado 234 vezes
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
Você caiu no mesmo problema que tive hoje.
O xml tem erro, tá faltando os totais interestaduais que inventaram em julho.
Os esquemas da Sefaz estão desatualizados, pra não dizer ERRADOS.
Nenhum lugar acusa erro, porque usam os arquivos da Sefaz pra validar.
Tanto o emissor gratuito, quanto o ACBR incluem os campos que faltam.
Então na prática não é esse XML que é enviado, é outro corrigido.
O lado ruim disso, é que você pensa que está certo, mas está ERRADO, acaba desaprendendo a fazer o XML.
(Apesar que chega uma hora que cansa, parece muito trabalho pra pouca coisa... rs)
Como tive o problema hoje, tá na mão.
Abaixo antes e depois de passar pelo emissor gratuito. (o meu que testei hoje).
O xml tem erro, tá faltando os totais interestaduais que inventaram em julho.
Os esquemas da Sefaz estão desatualizados, pra não dizer ERRADOS.
Nenhum lugar acusa erro, porque usam os arquivos da Sefaz pra validar.
Tanto o emissor gratuito, quanto o ACBR incluem os campos que faltam.
Então na prática não é esse XML que é enviado, é outro corrigido.
O lado ruim disso, é que você pensa que está certo, mas está ERRADO, acaba desaprendendo a fazer o XML.
(Apesar que chega uma hora que cansa, parece muito trabalho pra pouca coisa... rs)
Como tive o problema hoje, tá na mão.
Abaixo antes e depois de passar pelo emissor gratuito. (o meu que testei hoje).
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
É até bom conferir esse bloco de totais na nota autorizada pelo ACBR.
Se continuar igual o original, pode acusar assinatura inválida.
Se continuar igual o original, pode acusar assinatura inválida.
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/
Uso da classesefaz
Bom dia
Isso é muito estranho, eu segui o que me informou, primeiro adicionei as tres tags e resultado foi alterado o codigo do erro de 225 para 215 -Falha no esquema.
Fiz teste com acbr novamente com mesmo xml, ele removeu os 3 novas tags e autorizou o xml.
Voce tem mais alguma dica?
Obrigado
Gustavo
Isso é muito estranho, eu segui o que me informou, primeiro adicionei as tres tags e resultado foi alterado o codigo do erro de 225 para 215 -Falha no esquema.
Fiz teste com acbr novamente com mesmo xml, ele removeu os 3 novas tags e autorizou o xml.
Voce tem mais alguma dica?
Obrigado
Gustavo
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
Pergunta:
assinou antes de transmitir?
A que postou é sem assinatura.
A outra única diferença da autorizada no emissor é na parte inicial.
assinou antes de transmitir?
A que postou é sem assinatura.
A outra única diferença da autorizada no emissor é na parte inicial.
Código: Selecionar todos
<?xml version="1.0" encoding="UTF-8"?>
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/
Uso da classesefaz
Ola
O xml que postei está sem assinatura porque eu separei antes de qquer alteração mas, estou usando de acordo com sua dica:
SayScroll( "Assinando" )
cNfeXml := MemoRead(hb_DirBase() + "NFe35160856782766000120550010000000261000000260-pre.XML")
cStatusAssinatura := AssinaXml( @cNfeXml, cCert )
IF cStatusAssinatura != "OK"
MsgExclamation( "Problema na assinatura " + cStatusAssinatura )
RETURN .F.
ENDIF
SayScroll( "Gravando Assinado" )
hb_MemoWrit( cNfeXml )
oSefaz:cCertificado := cCert
SayScroll( "Transmitindo Sefaz" )
//oSefaz:NfeLoteEnvia( cNfeXml )
oSefaz:NFeLoteEnvia( cNfeXml, cLote, "SP", cCert, "2" ) // , "0" )
SayScroll( "Gravando resultado" )
hb_MemoWrit( oSefaz:cXmlRecibo )
hb_MemoWrit( oSefaz:cXmlProtocolo )
IF oSefaz:cStatus == "101"
hb_MemoWrit( oSefaz:cXmlAutorizado )
//RUN ( "start d:\unidanfe\unidanfe.exe NFE\NF" + jpnota->nfNotFis + "-Autorizado.xml" )
MsgExclamation( "Nota autorizada" )
ELSEIF oSefaz:cStatus $ "202,302"
hb_MemoWrit( "05-Denegado.xml" )
//RUN ( "Start d:\unidanfe\unidanfe.exe NFE\NF" + jpnota->nfNotFis + "-Autorizado.xml" )
MsgExclamation( "Nota denegada" )
ELSE
hb_MemoWrit( /*"NFE\TMP\NF" + jpnota->nfNotFis + "-05-Erro.xml",*/ oSefaz:cXmlProtocolo )
MsgExclamation( "Erro " + oSefaz:cXmlProtocolo )
ENDIF
RETURN NIL
Gustavo.
O xml que postei está sem assinatura porque eu separei antes de qquer alteração mas, estou usando de acordo com sua dica:
SayScroll( "Assinando" )
cNfeXml := MemoRead(hb_DirBase() + "NFe35160856782766000120550010000000261000000260-pre.XML")
cStatusAssinatura := AssinaXml( @cNfeXml, cCert )
IF cStatusAssinatura != "OK"
MsgExclamation( "Problema na assinatura " + cStatusAssinatura )
RETURN .F.
ENDIF
SayScroll( "Gravando Assinado" )
hb_MemoWrit( cNfeXml )
oSefaz:cCertificado := cCert
SayScroll( "Transmitindo Sefaz" )
//oSefaz:NfeLoteEnvia( cNfeXml )
oSefaz:NFeLoteEnvia( cNfeXml, cLote, "SP", cCert, "2" ) // , "0" )
SayScroll( "Gravando resultado" )
hb_MemoWrit( oSefaz:cXmlRecibo )
hb_MemoWrit( oSefaz:cXmlProtocolo )
IF oSefaz:cStatus == "101"
hb_MemoWrit( oSefaz:cXmlAutorizado )
//RUN ( "start d:\unidanfe\unidanfe.exe NFE\NF" + jpnota->nfNotFis + "-Autorizado.xml" )
MsgExclamation( "Nota autorizada" )
ELSEIF oSefaz:cStatus $ "202,302"
hb_MemoWrit( "05-Denegado.xml" )
//RUN ( "Start d:\unidanfe\unidanfe.exe NFE\NF" + jpnota->nfNotFis + "-Autorizado.xml" )
MsgExclamation( "Nota denegada" )
ELSE
hb_MemoWrit( /*"NFE\TMP\NF" + jpnota->nfNotFis + "-05-Erro.xml",*/ oSefaz:cXmlProtocolo )
MsgExclamation( "Erro " + oSefaz:cXmlProtocolo )
ENDIF
RETURN NIL
Gustavo.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
Hoje a Sefaz está fora do ar, então não dá pra fazer testes.
Na rotina que postei esqueci do número do lote.
Já alterei a classe pra usar um número default, quando não informado número de lote.
Agora aguardando a Sefaz voltar ao normal pra fazer mais testes.
Também aproveitei pra acertar o texto de retorno nessa situação, porque antes só retornava o texto "erro".
Na rotina que postei esqueci do número do lote.
Já alterei a classe pra usar um número default, quando não informado número de lote.
Agora aguardando a Sefaz voltar ao normal pra fazer mais testes.
Também aproveitei pra acertar o texto de retorno nessa situação, porque antes só retornava o texto "erro".
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
Explicando:
A classe funcionava antes, tudo era chamado isoladamente.
As últimas mudanças foram pra fazer mais automático, tipo já enviar o lote e já consultar o recibo e já gerar o autorizado. Três operações de uma vez.
O erro no schemma não é no XML da nota, é no XML de consultar recibo.
Nessas mudanças cometi um erro, e a consulta estava indo sem número de recibo.
A falha de schemma era no XML de consultar recibo, e não no XML da nota.
Por serem duas operações em seguida, o erro parecia na primeira operação, mas era na segunda.
Estou vendo que precisa melhorar muito a parte de mensagens, afinal, até eu que criei a classe me perdi nisso.
A classe funcionava antes, tudo era chamado isoladamente.
As últimas mudanças foram pra fazer mais automático, tipo já enviar o lote e já consultar o recibo e já gerar o autorizado. Três operações de uma vez.
O erro no schemma não é no XML da nota, é no XML de consultar recibo.
Nessas mudanças cometi um erro, e a consulta estava indo sem número de recibo.
A falha de schemma era no XML de consultar recibo, e não no XML da nota.
Por serem duas operações em seguida, o erro parecia na primeira operação, mas era na segunda.
Estou vendo que precisa melhorar muito a parte de mensagens, afinal, até eu que criei a classe me perdi nisso.
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/
Uso da classesefaz
Boa noite
Para informação, no teste que fiz agora a na atualização do CVS, consegui a validar NFe no sefaz.
Apenas tive que incluir ( #include "hbwin.ch") no fonte ze_xmlfun.prg e tambem acrescentar uma função que acusou falta
( XMLTRANSFORM() ).
Obrigado
Gustavo.
Para informação, no teste que fiz agora a na atualização do CVS, consegui a validar NFe no sefaz.
Apenas tive que incluir ( #include "hbwin.ch") no fonte ze_xmlfun.prg e tambem acrescentar uma função que acusou falta
( XMLTRANSFORM() ).
Obrigado
Gustavo.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
EQuando coloca hbwin.hbc já acrescenta tudo que precisa.
Vou acrescentar #require "hbwin.hbc" pra garantir.
XmlTransform() , devo ter esquecido de salvar no github.
Serve este tapa-buraco:
Ela não é usada na parte da Sefaz, assim como a ze_spedxmlclass.prg também não.
.
Vou acrescentar #require "hbwin.hbc" pra garantir.
XmlTransform() , devo ter esquecido de salvar no github.
Serve este tapa-buraco:
Código: Selecionar todos
FUNCTION XmlTransform( cTexto )
RETURN cTexto
.
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Uso da classesefaz
Faltou comentar:
Este tópico está no lugar errado, não tem a ver com Clipper.
Este tópico está no lugar errado, não tem a ver com Clipper.
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/
Uso da classesefaz
Bom dia,
Sr moderador, me desculpe por este inconveniente de colocar mensagem no grupo errado.
Tomarei cuidado para que não ocorra no futuro.
Obrigado.
Gustavo.
Sr moderador, me desculpe por este inconveniente de colocar mensagem no grupo errado.
Tomarei cuidado para que não ocorra no futuro.
Obrigado.
Gustavo.
