Repositório e Continuidade do projeto
Moderador: Moderadores
Repositório e Continuidade do projeto
Bom dia Pessoal,
Também tenho interesse em ajudar com o hbnfe.
Também tenho interesse em ajudar com o hbnfe.
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

-
Ricardo C. Freitas
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 14 Jan 2016 17:33
- Localização: Vila Velha
Repositório e Continuidade do projeto
Boa noite,
Sou novato aqui neste fórum, recentemente tive a necessidade de utilizar NF-e e NFC-e.
Gostaria de saber se o projeto do hbNFe será levado a frente e qual fonte será continuado?
Tenho interesse em ajudar no desenvolvimento e teste.
Já é possível utilizar para emissão de NF-e e NFC-e em produção?
Sou novato aqui neste fórum, recentemente tive a necessidade de utilizar NF-e e NFC-e.
Gostaria de saber se o projeto do hbNFe será levado a frente e qual fonte será continuado?
Tenho interesse em ajudar no desenvolvimento e teste.
Já é possível utilizar para emissão de NF-e e NFC-e em produção?
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Repositório e Continuidade do projeto
Isso tá meio contraditório.Tenho interesse em ajudar no desenvolvimento e teste.
Já é possível utilizar para emissão de NF-e e NFC-e em produção?
É algo como dizer: vou ajudar a desenvolver, mas desde que esteja pronto, vou ajudar a testar mas desde já esteja testado e funcionando.
Não existe solução mágica.recentemente tive a necessidade de utilizar NF-e e NFC-e
Não é uma biblioteca que vai facilitar seu trabalho.
Terá que desenvolver no mínimo o TXT ou o XML, seguindo os manuais da Secretaria da Fazenda.
Só depois disso é que vai poder testar alguma coisa, qualquer que seja a biblioteca.
De um modo geral é só testar.
Tem UF que cisma de fazer diferente, então pode estar 100% pronto pra uma UF e pra outra não.
O único jeito de descobrir é testando.
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/
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Repositório e Continuidade do projeto
Boa noite José Quintas....
Então... nós estamos precisando de uma ajudinha para ajudar alavancar esse negócio...
Tá meio confuso o conceito de usar o hbnfe...
Por exemplo uso o acbrmonitor, gero o txt envio para o acbrmonitor ele gera o xml e envia para sefaz, pego o retorno e verifico se foi autorizado ou não e mando imprimir o danfe.
Ah, não trabalha com o txt do acbrmonitor, beleza vamos usar o xml então, para testes posso pegar o xml que o acbrmonitor gerou para mim e usar esse xml no hbnfe?
Se sim como faço isso? O que preciso estar instalado? Tem um exe um exemplo do hbnfe? Vou ter que compilar o hbnfe?
É isso que tá confuso pelo menos para mim, não sei se para o resto do pessoal também.
Rubens
Então... nós estamos precisando de uma ajudinha para ajudar alavancar esse negócio...
Tá meio confuso o conceito de usar o hbnfe...
Por exemplo uso o acbrmonitor, gero o txt envio para o acbrmonitor ele gera o xml e envia para sefaz, pego o retorno e verifico se foi autorizado ou não e mando imprimir o danfe.
Ah, não trabalha com o txt do acbrmonitor, beleza vamos usar o xml então, para testes posso pegar o xml que o acbrmonitor gerou para mim e usar esse xml no hbnfe?
Se sim como faço isso? O que preciso estar instalado? Tem um exe um exemplo do hbnfe? Vou ter que compilar o hbnfe?
É isso que tá confuso pelo menos para mim, não sei se para o resto do pessoal também.
Rubens
"Eu e minha casa servimos ao Senhor e você
"
-
Ricardo C. Freitas
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 14 Jan 2016 17:33
- Localização: Vila Velha
Repositório e Continuidade do projeto
Bom dia,
Realmente não estou entendendo se a hbnfe está funcional para emissão de nf-e e qual código devo utilizar.
Se eu verifico o projeto no Git tem um arquivo compactado "hbNFeSefaz-2014-12-09.zip" postado pelo José Quintas com fontes, além dos fontes que já estão lá.
Estou utilizando o Uninfe e gostaria de integrar uma solução dentro da minha aplicação.
Pensei que pudesse utilizar o hbnfe para o básico de emissão da nf-e e ajudar nos outros pontos que estejam faltando.
Estou no ES e poderia fazer os testes com a SEFAZ daqui.
De qualquer forma obrigado.
At+
Realmente não estou entendendo se a hbnfe está funcional para emissão de nf-e e qual código devo utilizar.
Se eu verifico o projeto no Git tem um arquivo compactado "hbNFeSefaz-2014-12-09.zip" postado pelo José Quintas com fontes, além dos fontes que já estão lá.
Estou utilizando o Uninfe e gostaria de integrar uma solução dentro da minha aplicação.
Pensei que pudesse utilizar o hbnfe para o básico de emissão da nf-e e ajudar nos outros pontos que estejam faltando.
Estou no ES e poderia fazer os testes com a SEFAZ daqui.
De qualquer forma obrigado.
At+
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Repositório e Continuidade do projeto
Vamos a um recomeço então.
Vou preparar o github pra isso.
Apesar de estar nesse ZIP, ele contém muito mais fontes do que vão ser utilizados, e por isso confunde.
Vamos por em prática.
Vou preparar o github pra isso.
Apesar de estar nesse ZIP, ele contém muito mais fontes do que vão ser utilizados, e por isso confunde.
Vamos por em prática.
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/
Repositório e Continuidade do projeto
Boa tarde José,
Eu estou disposto a ajudar, uso o hbnfe que fiz as alterações do meu jeito e um projeto novo deixará todos no mesmo padrão, suas classes que baixei a algum tempo atras me ajudaram muito nas alterações.
Eu estou disposto a ajudar, uso o hbnfe que fiz as alterações do meu jeito e um projeto novo deixará todos no mesmo padrão, suas classes que baixei a algum tempo atras me ajudaram muito nas alterações.
Daniel Segura
ciacpd@hotmail.com
clipper/FW - xharbour/hwgui
ciacpd@hotmail.com
clipper/FW - xharbour/hwgui
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Repositório e Continuidade do projeto
Opa. finalmente alguém que diz que usa.
Usa do jeito dela, igual ACBR, ou modificou essa parte também?
Só pra entender se alguém configura tudo aquilo, e se interessa compatibilidade.
Na prática a classe sempre foi o ponto de partida, e estava completamente funcional no ano passado, pra todo processo.
Usa do jeito dela, igual ACBR, ou modificou essa parte também?
Só pra entender se alguém configura tudo aquilo, e se interessa compatibilidade.
Na prática a classe sempre foi o ponto de partida, e estava completamente funcional no ano passado, pra todo processo.
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/
Repositório e Continuidade do projeto
O ponto inicial é baixar o projeto anexar ao teu sistema e fazer compilar sem errosBoa noite José Quintas....
Então... nós estamos precisando de uma ajudinha para ajudar alavancar esse negócio...
Tá meio confuso o conceito de usar o hbnfe...
Por exemplo uso o acbrmonitor, gero o txt envio para o acbrmonitor ele gera o xml e envia para sefaz, pego o retorno e verifico se foi autorizado ou não e mando imprimir o danfe.
Ah, não trabalha com o txt do acbrmonitor, beleza vamos usar o xml então, para testes posso pegar o xml que o acbrmonitor gerou para mim e usar esse xml no hbnfe?
Se sim como faço isso? O que preciso estar instalado? Tem um exe um exemplo do hbnfe? Vou ter que compilar o hbnfe?
É isso que tá confuso pelo menos para mim, não sei se para o resto do pessoal também.
Rubens
depois vc chama a rotina de exemplo (se for o caso renomeia ela pra Main_TesteHBNFe) e cada item da rotina de exemplo testa uma parte da HBNFe, exemplo Consultar Status de Serviço, vai chamar o método para isso, ai vc analisa como esta fazendo no exemplo e verá q é simples.
Em relação ao ACBr, vc monta o TXT q é lido pelo monitor e devolvido o retorno
Na HBNFe vc instancia a Classe e chama o método e trabalha o retorno...
Basicamente, se vc olhar o arquivo testes.prg q acompanha o projeto verá q tem a parte q carrega as informações do INI
Código: Selecionar todos
hIniData := HB_ReadIni( "teste.ini" )
cPastaSchemas := hIniData['Principais']['cPastaSchemas']
cSerialCert := hIniData['Principais']['cSerialCert']
cUFWS := hIniData['Principais']['cUFWS']
tpAmb := hIniData['Principais']['tpAmb']
versaoDados := hIniData['Principais']['versaoDados']
cUF := hIniData['Principais']['cUF']
cMun := hIniData['Principais']['cMun']
tpImp := hIniData['Principais']['tpImp']
versaoSistema := hIniData['Principais']['versaoSistema']
cXMLFileAssinado := hIniData['Envio']['cXMLFileAssinado']
idLote := hIniData['Envio']['idLote']
tpEmis := hIniData['Envio']['tpEmis']
nRecibo := hIniData['Retorno']['nRecibo']
cChaveNFe := hIniData['Consulta']['cChaveNFe']
xUF := hIniData['Cadastro']['xUF']
CNPJ := hIniData['Cadastro']['CNPJ']
cXMLFileSemAssinatura := hIniData['Assinatura']['cXMLFileSemAssinatura']
cChaveNfeCanc := hIniData['Cancelamento']['cChaveNfeCanc']
xJustificativa := hIniData['Cancelamento']['xJustificativa']
cXMLFileDanfe := hIniData['Danfe']['cXMLFileDanfe']
cLogoFile := hIniData['Danfe']['cLogoFile']
nLogoStyle := val( hIniData['Danfe']['nLogoStyle'] )
cXMLFileCCe := hIniData['CCe']['cXMLFileCCe']
cIniAcbr := hIniData['IniToXML']['cIniAcbr']
ArquivoEmail := hIniData['Email']['ArquivoEmail']
Código: Selecionar todos
oNfe := hbNfe()
oNfe:cPastaSchemas := cPastaSchemas
oNFe:cSerialCert := cSerialCert
oNFe:nSOAP := HBNFE_MXML
oNFe:cUFWS := cUFWS // UF WebService
oNFe:tpAmb := tpAmb // Tipo de Ambiente
oNFe:versaoDados := versaoDados // Versao
oNFe:versaoDadosCCe := '1.00'
oNFe:tpEmis := tpEmis //normal/scan/dpec/fs/fsda
oNFe:empresa_UF := cUF
oNFe:empresa_cMun := cMun
oNFe:empresa_tpImp := tpImp
oNFe:versaoSistema := versaoSistema
oNFe:pastaNFe := "nfe"
oNFe:pastaCancelamento := "canc"
oNFe:pastaPDF := "pdf"
oNFe:pastaInutilizacao := "inut"
oNFe:pastaDPEC := "dpec"
oNFe:pastaEnvRes := "envresp"
oNFe:cEmailEmitente := "construcao@construcao.com.br"
oNFe:cSiteEmitente := "www.construcao.com.br"
oNFe:cDesenvolvedor := "Desenvolvido por FJ Sistemas +55 18 3652 0559 http://www.fjsistemas.com.br"
oNFe:cCertPFX := hIniData['Principais']['cCertPFX']
oNFe:cCertFilePub := hIniData['Principais']['cCertFilePub']
oNFe:cCertFileKey := hIniData['Principais']['cCertFileKey']
oNFe:cCertPass := hIniData['Principais']['cCertPass']
oNFe:cEmail_Subject := hIniData['Email']['email_assunto']
oNFe:cEmail_MsgTexto := hIniData['Email']['email_txt']
oNFe:cEmail_MsgHTML := hIniData['Email']['email_html']
oNFe:cEmail_ServerIP := hIniData['Email']['email_smtp']
oNFe:cEmail_From := hIniData['Email']['email_from']
oNFe:cEmail_User := hIniData['Email']['email_usuario']
oNFe:cEmail_Pass := hIniData['Email']['email_senha']
oNFe:nEmail_PortSMTP := VAL( hIniData['Email']['email_porta'] )
oNFe:lEmail_Conf := IF( hIniData['Email']['email_confirmacao'] == '.T.',.T.,.F.)
oNFe:lEmail_SSL := IF( hIniData['Email']['email_SSL'] == '.T.',.T.,.F.)
oNFe:lEmail_Aut := IF( hIniData['Email']['email_aut'] == '.T.',.T.,.F.)
Ai chama o método q quer, exemplo Consultar Status do Serviço:
obs: as informações abaixo foram extraidas do arquivo testes.prg q acompanha o projeto.
Código: Selecionar todos
...
? "4) Status do Serviço (capicom,curl)"
...
ELSEIF nOption == Asc( "4" )
oStatus := hbNFeStatus()
oStatus:ohbNFe := oNfe // Objeto hbNFe
oStatus:tpAmb := '1' // Normal
oStatus:cUF := cUF // UF
aRetorno := oStatus:execute()
oStatus := Nil
Código: Selecionar todos
IF aRetorno['OK'] == .F.
? aRetorno['MsgErro']
ELSE
? aRetorno['tpAmb']
? aRetorno['verAplic']
? aRetorno['cStat']
? aRetorno['xMotivo']
? aRetorno['cUF']
? aRetorno['dhRecbto']
? aRetorno['tMed']
ENDIF
...
Tenho o projeto remodelado funcionando (menos a parte do DFe q devido a urgência fiz no projeto antigo, mas no evoluir deste tópico podemos adequar/contribuir com o novo)
Até onde entendi / usei simplificou várias coisas, pq ao se trabalhar com o hbNFe na forma q foi concebida, dá pra perceber q muitas coisas podem ser simplificadas e/ou remodeladas... exemplo o Consulta Status não precisa ser uma outra classe pode ser um método... outro exemplo, ao invés de ter um INI carregar ele nas propriedades da classe hbNFe() e depois usar este objeto em outras classes igual demonstrada acima (hbNFeStatus) poderiamos já setar direto as propriedades e chamar o método NFeStatus...
Enfim da forma q esta o projeto original se baixar e fazer compilar e estudar o testes.prg item a item já dá pra se familiarizar...
No caso do pessoal q trabalha com ACBr pode pegar uma das funções q usa tipo Consultar Status de Serviço e fazer via hbNFe pra ir pegando a manha sem conflitar com o ACBr, eu por exemplo aki tenho o HBNFe e o ACBr juntos... qdo for sobrando tempo vou migrando do ACBr para o hbNFe.
Agora se for partir de algo novo ai convém aguardar o Quintas criar o GIT ai baixa o dele e já começa no exemplo dele q já será a classe remodelada.
[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Repositório e Continuidade do projeto
Pronto, só verificar o post.
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/
Repositório e Continuidade do projeto
José, estou usando configurando tudo
Um pequeno exemplo, a rotina para consultar a NF-e, preparada para acbr e hbnfe, afinal nunca se sabe...JoséQuintas escreveu:Opa. finalmente alguém que diz que usa.
Usa do jeito dela, igual ACBR, ou modificou essa parte também?
Só pra entender se alguém configura tudo aquilo, e se interessa compatibilidade.
Na prática a classe sempre foi o ponto de partida, e estava completamente funcional no ano passado, pra todo processo.
Código: Selecionar todos
// -------------------------------------------------------------------------- //
function nfe_consulta_op(f_cFileXmlName)
if lacbrnfe
nfe_consulta_acbr(f_cFileXmlName)
else
nfe_consulta_hbnfe(f_cFileXmlName)
endif
return .t.
// -------------------------------------------------------------------------- //
function nfe_consulta_acbr(f_cFileXmlName)
Local oAcbrNfeMonitor, lConsulta := .F.
oAcbrNfeMonitor := AcbrNFeMonitor():New()
lConsulta := oAcbrNfeMonitor:AcbrNFe_ConsultarNFe(f_cFileXmlName)
if lConsulta
nmsgbox( oAcbrNfeMonitor:cRetornoTxt ,"Atenção.")
else
msginfo( oAcbrNfeMonitor:cRetornoTxt ,"Atenção.")
endif
oAcbrNfeMonitor:End()
return .t.
// -------------------------------------------------------------------------- //
function nfe_consulta_hbnfe(f_cFileXmlName)
private oNfe, oDanfe, aRetorno , oFuncoes
oNfe := hbNfe()
Seta_Schemas_Nfe(oNfe) ; Seta_Pastas_Nfe(oNfe) ; Seta_Email_Nfe(oNfe)
oNFe:pastaPDF := cdirlocal + "PDF"
oNFe:cDesenvolvedor := "Desenvolvido por CIACPD - http://www.ciacpd.com.br"
oFuncoes := hbNFeFuncoes()
mensagem("Consultando NF-e: "+f_cFileXmlName)
oConsulta := hbNFeConsulta()
oConsulta:ohbNFe := oNfe // Objeto hbNFe
oConsulta:cNFeFile := f_cFileXmlName // Chave ou pode ser um arquivo xml com o parametro cNFeFile
aRetorno := oConsulta:execute()
cChNFe := oConsulta:cChaveNFe
oConsulta := Nil
mensagem("")
IF aRetorno['OK'] == .F.
msginfo( aRetorno['MsgErro'] , "Falha na consulta da NFe.")
return .f.
ELSE
msginfo( "Retorno: " + HB_OEMTOANSI( aRetorno['xMotivo'] ) + CRLF +;
"Chave da Nota: " + cChNFe + CRLF +;
"Nota recebida em:" + aRetorno['dhRecbto'] + CRLF +;
"Nº do Protocolo:" + aRetorno['nProt'] + CRLF +;
"Digito da Nota:" + aRetorno['digVal'], "Resultado da Consulta.")
ENDIF
return .t.
// -------------------------------------------------------------------------- //Daniel Segura
ciacpd@hotmail.com
clipper/FW - xharbour/hwgui
ciacpd@hotmail.com
clipper/FW - xharbour/hwgui
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Repositório e Continuidade do projeto
Você não vai acreditar... vai ter que alterar muito o aplicativo:
Alterar isto:
Para algo parecido com isto:
E eliminar de seu fonte a criação desse arquivo XML de consulta recebido por parâmetro, que não vai precisar mais.
Resumindo: vai ter que apagar muuuito fonte.
Vai ficar menor do que com ACBR.
No caso dessa consulta, é só consultar.... rs
Alterar isto:
Código: Selecionar todos
function nfe_consulta_hbnfe(f_cFileXmlName)
private oNfe, oDanfe, aRetorno , oFuncoes
oNfe := hbNfe()
Seta_Schemas_Nfe(oNfe) ; Seta_Pastas_Nfe(oNfe) ; Seta_Email_Nfe(oNfe)
oNFe:pastaPDF := cdirlocal + "PDF"
oNFe:cDesenvolvedor := "Desenvolvido por CIACPD - http://www.ciacpd.com.br"
oFuncoes := hbNFeFuncoes()
mensagem("Consultando NF-e: "+f_cFileXmlName)
oConsulta := hbNFeConsulta()
oConsulta:ohbNFe := oNfe // Objeto hbNFe
oConsulta:cNFeFile := f_cFileXmlName // Chave ou pode ser um arquivo xml com o parametro cNFeFile
aRetorno := oConsulta:execute()
cChNFe := oConsulta:cChaveNFe
oConsulta := Nil
mensagem("")
IF aRetorno['OK'] == .F.
msginfo( aRetorno['MsgErro'] , "Falha na consulta da NFe.")
return .f.
ELSE
msginfo( "Retorno: " + HB_OEMTOANSI( aRetorno['xMotivo'] ) + CRLF +;
"Chave da Nota: " + cChNFe + CRLF +;
"Nota recebida em:" + aRetorno['dhRecbto'] + CRLF +;
"Nº do Protocolo:" + aRetorno['nProt'] + CRLF +;
"Digito da Nota:" + aRetorno['digVal'], "Resultado da Consulta.")
ENDIF
return .t.
Código: Selecionar todos
oSefaz := SefazClass():New()
cRetorno := oSefaz:ConsultaNfe( cChave, ... )
IF "*ERRO*" $ cRetorno
MsgInfo( "Retorno: " + cRetorno
ENDIF
Resumindo: vai ter que apagar muuuito fonte.
Vai ficar menor do que com ACBR.
No caso dessa consulta, é só consultar.... rs
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/
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Repositório e Continuidade do projeto
Atualmente qual o endereço para baixar este projeto ?
Já adiei várias vezes a migração do ACBrNFeMonitor para HBNFe, e agora quero aproveitar que tenho mais condições para encarar.
Até hoje tem funcionado muito bem o ACBr e me atende perfeitamente. Porém com o aumento de clientes que utilizam NFe, CTe e agora o MDFe, prefiro utilizar uma solução que demande menos ajustes, configurações e etc ...
Com ACBr, utilizo troca de arquivos em formato INI.
Já adiei várias vezes a migração do ACBrNFeMonitor para HBNFe, e agora quero aproveitar que tenho mais condições para encarar.
Até hoje tem funcionado muito bem o ACBr e me atende perfeitamente. Porém com o aumento de clientes que utilizam NFe, CTe e agora o MDFe, prefiro utilizar uma solução que demande menos ajustes, configurações e etc ...
Com ACBr, utilizo troca de arquivos em formato INI.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
