Página 2 de 6

Acompanhando as mudanças da hbnfe

Enviado: 02 Dez 2014 14:30
por Devair
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?

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 14:05
por JoséQuintas
É 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.

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 14:29
por Itamar M. Lins Jr.
Já olhei aqui, o xHarbour tem no \contrib\hbhpdf

Saudações,
Itamar M. Lins Jr.

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 14:42
por JoséQuintas
por enquanto eu uso as coisas do projeto ACBr
isso me chamou a atenção, achei que estaria usando direto o Harbour.

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.

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 14:55
por Itamar M. Lins Jr.
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.

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 15:46
por JoséQuintas
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):

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>

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 15:50
por JoséQuintas
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.

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 16:02
por JoséQuintas
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.

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 16:48
por JoséQuintas
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

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 17:02
por Itamar M. Lins Jr.
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.

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 17:12
por Itamar M. Lins Jr.
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.

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 17:50
por JoséQuintas
O problema é ir na página de download e encontrar isto:

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 18:41
por Itamar M. Lins Jr.
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

Código: Selecionar todos

HB_TIP_OPENSSL=yes
HB_WITH_CURL=C:\curl-7.39.0-win32\include\
depois:

Código: Selecionar todos

    cd contrib
    hbmk2 make.hb hbcurl  clean
Saudações,
Itamar M. Lins Jr.

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 19:13
por JoséQuintas
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....

Acompanhando as mudanças da hbnfe

Enviado: 03 Dez 2014 20:44
por JoséQuintas
De qualquer jeito vai ficar a opção. Vai de alguém que tenha conhecimento confirmar.
Isso já fazia parte da hbnfe.