Acompanhando as mudanças da hbnfe
Moderador: Moderadores
Acompanhando as mudanças da hbnfe
Mto bom as atualizações que tem feito na HBnfe, tenho utilizado suas funções com xHarbour, incorporando elas no meu sistema.
A propósito, consegui assinar com a HBNFeassina, era "sujeira no código", utilizando uma função que elimina caracteres indesejados a assinatura do xml ta ok.
Agora comecei a testar a HBNfeDanfe, como utilizo xHarbour, a função esta para Harbour, pede "harupdf.ch", tem algo equivalente a este CH em xHarbour?, a HBnfeDanfe, tem como ser utilizada em XHarbour?
A propósito, consegui assinar com a HBNFeassina, era "sujeira no código", utilizando uma função que elimina caracteres indesejados a assinatura do xml ta ok.
Agora comecei a testar a HBNfeDanfe, como utilizo xHarbour, a função esta para Harbour, pede "harupdf.ch", tem algo equivalente a este CH em xHarbour?, a HBnfeDanfe, tem como ser utilizada em XHarbour?
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Acompanhando as mudanças da hbnfe
É provável que o xHarbour tenha, senão tá na hora de pensar no Harbour como opção.... rs
Só esclarecendo:
harupdf é uma biblioteca pra PDF.
O pessoal do Harbour criou o que era necessário pra usar as funções dessa biblioteca.
Ao baixar o Harbour já vém tudo pronto, por isso confunde.
a biblioteca original é esta, e os manuais servem para o Harbour também:
http://libharu.sourceforge.net/
Por isso eu digo que é provável que o xHarbour também tenha.
Só esclarecendo:
harupdf é uma biblioteca pra PDF.
O pessoal do Harbour criou o que era necessário pra usar as funções dessa biblioteca.
Ao baixar o Harbour já vém tudo pronto, por isso confunde.
a biblioteca original é esta, e os manuais servem para o Harbour também:
http://libharu.sourceforge.net/
Por isso eu digo que é provável que o xHarbour também tenha.
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/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Acompanhando as mudanças da hbnfe
Já olhei aqui, o xHarbour tem no \contrib\hbhpdf
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Acompanhando as mudanças da hbnfe
isso me chamou a atenção, achei que estaria usando direto o Harbour.por enquanto eu uso as coisas do projeto ACBr
Só pra deixar você e outros com gostinho de quero mais.... rs
Quem quiser, pode fazer o teste, assim já opina.
É exatamente disso que sempre falei.
Quando coloquei no all-in-one isso não chamou a atenção, mas é praticamente a mesma classe.
Inclui os fontes e a versão compilada.
No Windows é executar e digitar a chave de acesso.
Vai mostrar o resultado da consulta na Fazenda, seja NFE, CTE ou MDFE.
Nota: essa é a rotina mais simples do projeto, e a única que não precisa assinatura digital.
Nota2: Vamos ver se percebe a diferença entre usar essa consulta sem ACBR ou a consulta com ACBR.
Nota3: Tem tudo da NFE, mas não se preocupem porque vai fazer parte da hbnfe com todo o restante.
- Anexos
-
test.zip- (346.06 KiB) Baixado 109 vezes
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/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Acompanhando as mudanças da hbnfe
Quais as restrições dessa classe, para funcionar no Linux ?
Nota do teste: é sem duvida alguns segundos mais rápido.
Está retornando erro:
Saudações,
Itamar M. Lins Jr.
Nota do teste: é sem duvida alguns segundos mais rápido.
Está retornando erro:
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Acompanhando as mudanças da hbnfe
Não era pra retornar erro, mesmo com chave inválida.
Mas não percebeu a grande diferença:
Direto pelo Harbour, sem arquivo temporário.
Harbour conversando direto com a SEFAZ.
Possibilidades:
- Talvez precise a CAPICOM também pra comunicação, e não apenas pra assinatura
- Talvez eu tenha me enganado, e precise Microsoft XML 5.0 também pra comunicação, e não apenas pra assinatura
O resultado aqui digitando chave inválida (mas com o 55 de NFE, e começando por 35=São Paulo):
Mas não percebeu a grande diferença:
Direto pelo Harbour, sem arquivo temporário.
Harbour conversando direto com a SEFAZ.
Possibilidades:
- Talvez precise a CAPICOM também pra comunicação, e não apenas pra assinatura
- Talvez eu tenha me enganado, e precise Microsoft XML 5.0 também pra comunicação, e não apenas pra assinatura
O resultado aqui digitando chave inválida (mas com o 55 de NFE, e começando por 35=São Paulo):
Código: Selecionar todos
Chave: 35140000000000000000550000000000000000000000
236
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.o
rg/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header><nfeCabecMsg xmlns="ht
tp://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2"><cUF>35</cUF><versaoDados>2.
01</versaoDados></nfeCabecMsg></soap:Header><soap:Body><nfeConsultaNF2Result xml
ns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2"><retConsSitNFe versao=
"2.01" xmlns="http://www.portalfiscal.inf.br/nfe"><tpAmb>1</tpAmb><verAplic>SP_N
FE_PL_006q</verAplic><cStat>236</cStat><xMotivo>Rejeição: Chave de Acesso com
dígito verificador inválido</xMotivo><cUF>35</cUF><chNFe>351400000000000000005
50000000000000000000000</chNFe></retConsSitNFe></nfeConsultaNF2Result></soap:Bod
y></soap:Envelope>
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
Acompanhando as mudanças da hbnfe
Comecei a modificar.
Como deve ter percebido, tem os métodos MicrosoftSoapPost e LibCurlSoapPost.
No Linux:
Mesmas diferenças da hbnfe: LibCurl e OpenSSL, ao invés de SOAP Microsoft e Capicom + Microsoft XML 5.0
No Windows:
Precisa Capicom e Microsoft XML 5.0 pra assinatura. e "talvez" pro SOAP.
Com isso a libcurl fica dispensada.
Ou igual Linux, libcurl e openssl.
Como deve ter percebido, tem os métodos MicrosoftSoapPost e LibCurlSoapPost.
No Linux:
Mesmas diferenças da hbnfe: LibCurl e OpenSSL, ao invés de SOAP Microsoft e Capicom + Microsoft XML 5.0
No Windows:
Precisa Capicom e Microsoft XML 5.0 pra assinatura. e "talvez" pro SOAP.
Com isso a libcurl fica dispensada.
Ou igual Linux, libcurl e openssl.
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
Acompanhando as mudanças da hbnfe
Apenas a título de curiosidade:
1)
O Windows tem todas as versões do msXML até a 6.0, mas pula a 5.0
A 5.0, única que faz assinatura, ela incluiu apenas no Office.
Essas são instaladas "por fora".
2)
Como é de se esperar, a Microsoft sempre inventa.
Em Windows 64 bits, há duas versões de regsvr32.
a versão que registra 32 bits fica na pasta \wow.
Precisa disso pra registrar xml 5.0 manual, caso o Windows pegue regsvr32 errado.
Inclusive pra Capicom em Windows Server 64 bits - o próprio setup da Microsoft falha.
1)
O Windows tem todas as versões do msXML até a 6.0, mas pula a 5.0
A 5.0, única que faz assinatura, ela incluiu apenas no Office.
Essas são instaladas "por fora".
2)
Como é de se esperar, a Microsoft sempre inventa.
Em Windows 64 bits, há duas versões de regsvr32.
a versão que registra 32 bits fica na pasta \wow.
Precisa disso pra registrar xml 5.0 manual, caso o Windows pegue regsvr32 errado.
Inclusive pra Capicom em Windows Server 64 bits - o próprio setup da Microsoft falha.
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
Acompanhando as mudanças da hbnfe
Comentei aqui que reinstalei meu servidor há pouco tempo, pra trocar pra W7 64 bits.
Fui até conferir: Tem apenas a Capicom instalada, e está consultando normalmente.
Com isso, a conclusão é:
- precisa capicom pra assinatura e comunicação soap (a comunicação pode usar o msxml existente)
- precisa capicom e xml 5.0 pra assinatura
Fui até conferir: Tem apenas a Capicom instalada, e está consultando normalmente.
Com isso, a conclusão é:
- precisa capicom pra assinatura e comunicação soap (a comunicação pode usar o msxml existente)
- precisa capicom e xml 5.0 pra assinatura
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/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Acompanhando as mudanças da hbnfe
Eu aconselho usar somente libcurl, não usar OLE SOAP da M$ porque ficará funcionando somente no Windows, com a HBQT e outras LIBs que já rodam no Linux, inclusive a Hwgui, será um problema p/ futuros usuários.
A libcurl tem zilhões de usuários tem muito exemplo na internet, o pessoal do PHP, JAVA, etc usa muito...
Mudei o sistema aqui de email p/ usar a libcurl e está funcionando com todos os servidores que testei, inclusive o hotmail.
E tem a libcurl no xHarbour também.
Saudações,
Itamar M. Lins Jr.
A libcurl tem zilhões de usuários tem muito exemplo na internet, o pessoal do PHP, JAVA, etc usa muito...
Mudei o sistema aqui de email p/ usar a libcurl e está funcionando com todos os servidores que testei, inclusive o hotmail.
E tem a libcurl no xHarbour também.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Acompanhando as mudanças da hbnfe
Detalhe, aqui eu usei na época que fiz a função de envio de NFe, o OPENSSL, não usei a capicom. Por isso o ACBrNfeMonitor tem duas versões, uma para openssl e outra p/ capicom.
No ACBrNFeMonitor as versões são: Certificado A1 usa OpenSSL(1 ano), A3 usa capicom.(3 anos)
Saudações,
Itamar M. Lins Jr.
No ACBrNFeMonitor as versões são: Certificado A1 usa OpenSSL(1 ano), A3 usa capicom.(3 anos)
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Acompanhando as mudanças da hbnfe
O problema é ir na página de download e encontrar isto:
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/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Acompanhando as mudanças da hbnfe
Rssrsrs, eu bati cabeça com isso.
Baixei essa 32:
http://www.confusedbycode.com/curl/curl ... -win32.zip
64
http://www.confusedbycode.com/curl/curl ... -win64.zip
depois:
Saudações,
Itamar M. Lins Jr.
Baixei essa 32:
http://www.confusedbycode.com/curl/curl ... -win32.zip
64
http://www.confusedbycode.com/curl/curl ... -win64.zip
Código: Selecionar todos
HB_TIP_OPENSSL=yes
HB_WITH_CURL=C:\curl-7.39.0-win32\include\
Código: Selecionar todos
cd contrib
hbmk2 make.hb hbcurl clean
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Acompanhando as mudanças da hbnfe
Até tentei.
Compilei Harbour com LibCurl, mas....
Passa a depender de ter arquivos físicos do certificado, contendo chave pública (public key) e particular/pessoal (private key).
Aí entra aprender como extrair essas coisas do certificado pra gerar esses arquivos, e o conteúdo será os nomes utilizados.
Só depois vai dar pra testar se as rotinas funcionam com openssl e libcurl.
Pelo menos pra Windows, muito mais prático Capicom e Microsoft Soap, usando o certificado instalado no Windows.
Essa coisa de open parece que só leva a pesquisas e mais pesquisas...
Complicado...
Deve ser bom lá fora, onde o governo não tira nosso tempo, dinheiro e paciência....
Compilei Harbour com LibCurl, mas....
Passa a depender de ter arquivos físicos do certificado, contendo chave pública (public key) e particular/pessoal (private key).
Aí entra aprender como extrair essas coisas do certificado pra gerar esses arquivos, e o conteúdo será os nomes utilizados.
Só depois vai dar pra testar se as rotinas funcionam com openssl e libcurl.
Pelo menos pra Windows, muito mais prático Capicom e Microsoft Soap, usando o certificado instalado no Windows.
Essa coisa de open parece que só leva a pesquisas e mais pesquisas...
Complicado...
Deve ser bom lá fora, onde o governo não tira nosso tempo, dinheiro e paciência....
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
Acompanhando as mudanças da hbnfe
De qualquer jeito vai ficar a opção. Vai de alguém que tenha conhecimento confirmar.
Isso já fazia parte da hbnfe.
Isso já fazia parte da hbnfe.
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/
