hbNFe commits
Enviado: 31 Ago 2011 16:03
Acabei de commitar
- Opção para envio de email usando CDOSYS
[]s
Fernando
- Opção para envio de email usando CDOSYS
[]s
Fernando
Código: Selecionar todos
ELSEIF cUF == "31" // MG
IF tpAmb == '1' // Produção
IF cServico == 'status' ; cUrlWS = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeStatus2"
ELSEIF cServico == 'consulta' ; cUrlWS = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2"
ELSEIF cServico == 'envio'
IF tpEmis $ '123' // Normal / Contingencia FS / Contingencia SCAN
cUrlWS = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2"
ELSEIF tpEmis = '4' // Contingencia DPEC
ELSEIF tpEmis = '5' // Contingencia FS-DA
ENDIF
ELSEIF cServico == 'recepcao' ; cUrlWS = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2"
ELSEIF cServico == 'cancelamento' ; cUrlWS = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeCancelamento2"
ELSEIF cServico == 'inutilizacao' ; cUrlWS = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2"
ELSEIF cServico == 'cadastro' ; cUrlWS = "https://nfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2"
ENDIF
ELSEIF tpAmb == '2' // Homologação
IF cServico == 'status' ; cUrlWS = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeStatus2"
ELSEIF cServico == 'consulta' ; cUrlWS = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2"
ELSEIF cServico == 'envio'
IF tpEmis $ '123' // Normal / Contingencia FS / Contingencia SCAN
cUrlWS = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2"
ELSEIF tpEmis = '4' // Contingencia DPEC
ELSEIF tpEmis = '5' // Contingencia FS-DA
ENDIF
ELSEIF cServico == 'recepcao' ; cUrlWS = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2"
ELSEIF cServico == 'cancelamento' ; cUrlWS = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeCancelamento2"
ELSEIF cServico == 'inutilizacao' ; cUrlWS = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2"
ELSEIF cServico == 'cadastro' ; cUrlWS = "https://hnfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2"
ENDIF
ENDIF
ENDIF
/*
Web Services da NF-e - Ambiente de Homologação:
Versão 2.0
* NfeRecepcao2 - https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2
* NfeRetRecepcao2 - https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2
* NfeCancelamento2 - https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeCancelamento2
* NfeInutilizacao2 - https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2
* NfeConsulta2 - https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2
* NfeStatusServico2 - https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeStatus2
* NfeConsultaCadastro2 - https://hnfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2
* NfeRecepcaoEvento - https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcaoEvento
Web Services da NF-e - Ambiente de Produção:
Versão 2.00
* NfeRecepcao: https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2
* NfeRetRecepcao: https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2
* NfeCancelamento: https://nfe.fazenda.mg.gov.br/nfe2/services/NfeCancelamento2
* NfeInutilizacao: https://nfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2
* NfeConsultaProtocolo: https://nfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2
* NfeStatusServico: https://nfe.fazenda.mg.gov.br/nfe2/services/NfeStatus2
* NfeConsultaCadastro: https://nfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2
* NfeRecepcaoEvento: https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcaoEvento
*/
Código: Selecionar todos
ELSEIF cUF == "12" .OR. ; // AC
cUF == "27" .OR. ; // AL
cUF == "13" .OR. ; // AM
cUF == "16" .OR. ; // AP
cUF == "53" .OR. ; // DF
cUF == "50" .OR. ; // MS
cUF == "25" .OR. ; // PB
cUF == "33" .OR. ; // RJ
cUF == "11" .OR. ; // RO
cUF == "14" .OR. ; // RR
cUF == "42" .OR. ; // SC
cUF == "28" .OR. ; // SE
cUF == "17" // TO
IF tpAmb == '1' // Produção
IF cServico == 'status' ; cUrlWS = "https://nfe.sefazvirtual.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx"
ELSEIF cServico == 'consulta' ; cUrlWS = "https://nfe.sefazvirtual.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx"
ELSEIF cServico == 'envio'
IF tpEmis $ '123' // Normal / Contingencia FS / Contingencia SCAN
cUrlWS = "https://nfe.sefazvirtual.rs.gov.br/ws/Nferecepcao/NFeRecepcao2.asmx"
ELSEIF tpEmis = '4' // Contingencia DPEC
ELSEIF tpEmis = '5' // Contingencia FS-DA
ENDIF
ELSEIF cServico == 'recepcao' ; cUrlWS = "https://nfe.sefazvirtual.rs.gov.br/ws/NfeRetRecepcao/NfeRetRecepcao2.asmx"
ELSEIF cServico == 'cancelamento' ; cUrlWS = "https://nfe.sefazvirtual.rs.gov.br/ws/NfeCancelamento/NfeCancelamento2.asmx"
ELSEIF cServico == 'inutilizacao' ; cUrlWS = "https://nfe.sefazvirtual.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx"
ELSEIF cServico == 'cadastro' ; cUrlWS = ""
ENDIF
ELSEIF tpAmb == '2' // Homologação
IF cServico == 'status' ; cUrlWS = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx"
ELSEIF cServico == 'consulta' ; cUrlWS = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx"
ELSEIF cServico == 'envio'
IF tpEmis $ '123' // Normal / Contingencia FS / Contingencia SCAN
cUrlWS = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/Nferecepcao/NFeRecepcao2.asmx"
ELSEIF tpEmis = '4' // Contingencia DPEC
ELSEIF tpEmis = '5' // Contingencia FS-DA
ENDIF
ELSEIF cServico == 'recepcao' ; cUrlWS = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/NfeRetRecepcao/NfeRetRecepcao2.asmx"
ELSEIF cServico == 'cancelamento' ; cUrlWS = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/NfeCancelamento/NfeCancelamento2.asmx"
ELSEIF cServico == 'inutilizacao' ; cUrlWS = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx"
ELSEIF cServico == 'cadastro' ; cUrlWS = ""
ENDIF
ENDIF
ENDIF
/*
* Sefaz Virtual Rio Grande do Sul - (SVRS)
*Estados que utilizam a SVRS - Sefaz Virtual do RS: AC, AL, AM, AP, DF, MS, PB, RJ, RO, RR, SC, SE, TO
*Versão 2.0
*Web Services da NF-e - Ambiente de Produção:
*NfeRecepcao https://nfe.sefazvirtual.rs.gov.br/ws/Nferecepcao/NFeRecepcao2.asmx
*NfeRetRecepcao https://nfe.sefazvirtual.rs.gov.br/ws/NfeRetRecepcao/NfeRetRecepcao2.asmx
*NfeCancelamento https://nfe.sefazvirtual.rs.gov.br/ws/NfeCancelamento/NfeCancelamento2.asmx
*NfeInutilizacao https://nfe.sefazvirtual.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx
*NfeConsultaProtocolo https://nfe.sefazvirtual.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx
*NfeStatusServico https://nfe.sefazvirtual.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx
*RecepcaoEvento https://nfe.sefazvirtual.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx
*Web Services da NF-e - Ambiente de Homologação
*NfeRecepcao https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/Nferecepcao/NFeRecepcao2.asmx
*NfeRetRecepcao https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/NfeRetRecepcao/NfeRetRecepcao2.asmx
*NfeCancelamento https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/NfeCancelamento/NfeCancelamento2.asmx
*NfeInutilizacao https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx
*NfeConsultaProtocolo https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx
*NfeStatusServico https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx
*RecepcaoEvento https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx
* Informações extraidas destes sites:
* http://hom.nfe.fazenda.gov.br/portal/WebServices.aspx
* http://www.nfe.fazenda.gov.br/PORTAL/WebServices.aspx
*/
Código: Selecionar todos
ELSEIF cUF == "51" // MT
IF tpAmb == '1' // Produção
IF cServico == 'status' ; cUrlWS = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl"
ELSEIF cServico == 'consulta' ; cUrlWS = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl"
ELSEIF cServico == 'envio'
IF tpEmis $ '123' // Normal / Contingencia FS / Contingencia SCAN
cUrlWS = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetRecepcao2?wsdl"
ELSEIF tpEmis = '4' // Contingencia DPEC
ELSEIF tpEmis = '5' // Contingencia FS-DA
ENDIF
ELSEIF cServico == 'recepcao' ; cUrlWS = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetRecepcao2?wsdl"
ELSEIF cServico == 'cancelamento' ; cUrlWS = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeCancelamento2?wsdl"
ELSEIF cServico == 'inutilizacao' ; cUrlWS = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl"
ELSEIF cServico == 'cadastro' ; cUrlWS = "https://nfe.sefaz.mt.gov.br/nfews/CadConsultaCadastro"
ENDIF
ELSEIF tpAmb == '2' // Homologação
IF cServico == 'status' ; cUrlWS = "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl"
ELSEIF cServico == 'consulta' ; cUrlWS = "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl"
ELSEIF cServico == 'envio'
IF tpEmis $ '123' // Normal / Contingencia FS / Contingencia SCAN
cUrlWS = "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRecepcao2?wsdl"
ELSEIF tpEmis = '4' // Contingencia DPEC
ELSEIF tpEmis = '5' // Contingencia FS-DA
ENDIF
ELSEIF cServico == 'recepcao' ; cUrlWS = "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRetRecepcao2?wsdl"
ELSEIF cServico == 'cancelamento' ; cUrlWS = "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeCancelamento2?wsdl"
ELSEIF cServico == 'inutilizacao' ; cUrlWS = "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl"
ELSEIF cServico == 'cadastro' ; cUrlWS = ""
ENDIF
ENDIF
ENDIF
/*
* Sefaz Mato Grosso - (MT) Serviço Versão URL
* Versão 2.0
* Web Services da NF-e - Ambiente de Produção:
* NfeRecepcao https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRecepcao2?wsdl
* NfeRetRecepcao https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetRecepcao2?wsdl
* NfeCancelamento https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeCancelamento2?wsdl
* NfeInutilizacao https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl
* NfeConsultaProtocolo https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl
* NfeStatusServico https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl
* NfeConsultaCadastro https://nfe.sefaz.mt.gov.br/nfews/CadConsultaCadastro
* RecepcaoEvento https://nfe.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento?wsdl
* Web Services da NF-e - Ambiente de Homologação
* NfeRecepcao https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRecepcao2?wsdl
* NfeRetRecepcao https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRetRecepcao2?wsdl
* NfeCancelamento https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeCancelamento2?wsdl
* NfeInutilizacao https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl
* NfeConsultaProtocolo https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl
* NfeStatusServico https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl
* RecepcaoEvento https://homologacao.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento?wsdl
* Informações extraidas destes sites:
* http://hom.nfe.fazenda.gov.br/portal/WebServices.aspx
* http://www.nfe.fazenda.gov.br/PORTAL/WebServices.aspx
*/
Código: Selecionar todos
#include "common.ch"
#include "hbclass.ch"
#include "hbwin.ch"
#include "harupdf.ch"
#include "hbzebra.ch"
#include "hbcompat.ch"
#Include "minigui.ch"
declare window Thisform
FUNCTION testenfe_minigui( ... )
RETURN _testenfe_minigui( HB_AParams() )
FUNCTION _testenfe_minigui( )
LOCAL aRetorno, cRetorno, nI, cCaminho
LOCAL oFuncoes := hbNFeFuncoes(),;
nOption
LOCAL hIniData, cPastaSchemas, cSerialCert, cUFWS, tpAmb, versaoDados, cUF, cMun,;
tpImp, versaoSistema, cXMLFileAssinado, idLote, tpEmis, nRecibo, cChaveNFe,;
xUF, CNPJ, cXMLFileSemAssinatura, cChaveNfeCanc, nProtCanc, xJustificativa,;
cXMLFileDanfe, cIniAcbr, ArquivoEmail
PRIVATE vRichedit1
PUBLIC oNfe
SET DATE TO BRIT
SET CENTURY ON
REQUEST HB_CODEPAGE_PT850 &&& PARA INDEXAR CAMPOS ACENTUADOS
HB_SETCODEPAGE("PT850") &&& PARA INDEXAR CAMPOS ACENTUADOS
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']
nProtCanc=hIniData['Cancelamento']['nProtCanc']
xJustificativa=hIniData['Cancelamento']['xJustificativa']
cXMLFileDanfe=hIniData['Danfe']['cXMLFileDanfe']
cIniAcbr=hIniData['IniToXML']['cIniAcbr']
ArquivoEmail=hIniData['Email']['ArquivoEmail']
oNfe := hbNfe()
oNfe:cPastaSchemas := cPastaSchemas
oNFe:cSerialCert := cSerialCert
oNFe:cUFWS := cUFWS // UF WebService
oNFe:tpAmb := tpAmb // Tipo de Ambiente
oNFe:versaoDados := versaoDados // Versao
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: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.)
DEFINE WINDOW Thisform ;
AT 0,0 WIDTH 800 HEIGHT 600 ;
TITLE "Teste HBNfe com minigui" ;
FONT "Ms Sans Serif" SIZE 9 ;
NOSIZE ;
ON INIT oninit() WINDOWTYPE MAIN
ON KEY ESCAPE ACTION ThisForm.release
@ 10, 10 BUTTONEX oButtonex1 CAPTION "escolheCertificado" WIDTH 150 HEIGHT 25 ACTION oButtonex1_onClick()
@ 40, 10 BUTTONEX oButtonex2 CAPTION "CN certificado" WIDTH 150 HEIGHT 25
@ 70, 10 BUTTONEX oButtonex3 CAPTION "Propriedades Certificado" WIDTH 150 HEIGHT 25 ACTION oButtonex3_onClick( oNfe )
@ 100, 10 BUTTONEX oButtonex4 CAPTION "Status Serviço" WIDTH 150 HEIGHT 25
@ 130, 10 BUTTONEX oButtonex5 CAPTION "Valida XML" WIDTH 150 HEIGHT 25
@ 160, 10 BUTTONEX oButtonex6 CAPTION "Consulta NFe" WIDTH 150 HEIGHT 25
@ 190, 10 BUTTONEX oButtonex7 CAPTION "Consulta Cadastro" WIDTH 150 HEIGHT 25
@ 220, 10 BUTTONEX oButtonex8 CAPTION "AssinaXML" WIDTH 150 HEIGHT 25
@ 250, 10 BUTTONEX oButtonex9 CAPTION "Cancela NFe" WIDTH 150 HEIGHT 25
@ 280, 10 BUTTONEX oButtonex10 CAPTION "Inutiliza" WIDTH 150 HEIGHT 25
@ 310, 10 BUTTONEX oButtonex11 CAPTION "Envia (Recepção)" WIDTH 150 HEIGHT 25
@ 340, 10 BUTTONEX oButtonex12 CAPTION "Retorno (RetRecepção)" WIDTH 150 HEIGHT 25
@ 370, 10 BUTTONEX oButtonex13 CAPTION "DANFE" WIDTH 150 HEIGHT 25
@ 400, 10 BUTTONEX oButtonex14 CAPTION "IniToXML (AcBr)" WIDTH 150 HEIGHT 25
@ 430, 10 BUTTONEX oButtonex15 CAPTION "Email" WIDTH 150 HEIGHT 25
@ 460, 10 BUTTONEX oButtonex16 CAPTION "Sair" WIDTH 150 HEIGHT 25 ACTION Thisform.release
DEFINE RICHEDITBOX oRichedit1
ROW 10
COL 180
WIDTH 600
HEIGHT 250
VALUE vRichedit1
END RICHEDITBOX
@ 273,180 LABEL oLabel1 VALUE "Serial Cert" WIDTH 100 HEIGHT 20 RIGHT
@ 270,290 TEXTBOX oSerCert VALUE cSerialCert WIDTH 250 HEIGHT 24
@ 303,180 LABEL oLabel2 VALUE "UFWS" WIDTH 100 HEIGHT 20 RIGHT
@ 300,290 TEXTBOX oUFWS VALUE cUFWS WIDTH 80 HEIGHT 24
@ 333,180 LABEL oLabel3 VALUE "tpAmb" WIDTH 100 HEIGHT 20 RIGHT
@ 330,290 TEXTBOX otpAmb VALUE tpAmb WIDTH 80 HEIGHT 24
@ 363,180 LABEL oLabel4 VALUE "UF Emp" WIDTH 100 HEIGHT 20 RIGHT
@ 360,290 TEXTBOX oUF VALUE cUF WIDTH 80 HEIGHT 24
@ 393,180 LABEL oLabel5 VALUE "XMLAssinado" WIDTH 100 HEIGHT 20 RIGHT
@ 390,290 TEXTBOX oXMLAssinado VALUE cXMLFileAssinado WIDTH 402 HEIGHT 24
@ 423,180 LABEL oLabel6 VALUE "Chave Consulta" WIDTH 100 HEIGHT 20 RIGHT
@ 420,290 TEXTBOX oChaveConsulta VALUE cChaveNFe WIDTH 389 HEIGHT 24
END WINDOW
CENTER WINDOW Thisform
ACTIVATE WINDOW Thisform
RETURN NIL
STATIC FUNCTION oninit
Thisform.oButtonex2.enabled := .F.
Thisform.oButtonex4.enabled := .F.
Thisform.oButtonex5.enabled := .F.
Thisform.oButtonex6.enabled := .F.
Thisform.oButtonex7.enabled := .F.
Thisform.oButtonex8.enabled := .F.
Thisform.oButtonex9.enabled := .F.
Thisform.oButtonex10.enabled := .F.
Thisform.oButtonex11.enabled := .F.
Thisform.oButtonex12.enabled := .F.
Thisform.oButtonex13.enabled := .F.
Thisform.oButtonex14.enabled := .F.
Thisform.oButtonex15.enabled := .F.
RETURN(.T.)
STATIC FUNCTION oButtonex1_onClick
aRetorno := oNfe:escolheCertificado(.F.)
IF aRetorno['OK'] == .F.
vRichedit1 := ALLTRIM(Thisform.oRichEdit1.value)+CHR(13)+aRetorno['MsgErro']
ELSE
vRichedit1 := ALLTRIM(Thisform.oRichEdit1.value)+CHR(13)+aRetorno['Serial']
ENDIF
Thisform.oRichEdit1.value := vRichedit1
RETURN .T.
FUNCTION oButtonex3_onClick( oNfe )
LOCAL lResult, aRetorno
lResult := .F.
nThreadHandle := hb_threadStart ( {|| aRetorno := pegaCert( oNfe, @lResult ) })
DO WHILE !lResult
do events
ENDDO
hb_THREADWAITFORALL()
IF aRetorno['OK'] == .T.
vRichedit1 := ALLTRIM(Thisform.oRichEdit1.value)+CHR(13)+;
aRetorno['SerialNumber']+CHR(13)+;
DTOC(aRetorno['ValidToDate'])+CHR(13)+;
IF(aRetorno['HasPrivateKey']=.T.,'.T.','.F.')+CHR(13)+;
aRetorno['SubjectName']+CHR(13)+;
aRetorno['IssuerName']+CHR(13)+;
aRetorno['Thumbprint']+CHR(13)+;
aRetorno['getInfo']
ELSE
vRichedit1 := ALLTRIM(Thisform.oRichEdit1.value)+CHR(13)+'erro'
ENDIF
Thisform.oRichEdit1.value := vRichedit1
RETURN .T.
FUNC pegaCert(oxNfe, lResult)
LOCAL aRetorno
aRetorno := oxNfe:pegaPropriedadesCertificado()
lResult := .T.
RETURN(aRetorno)