Jump to content
Fivewin Brasil

Leaderboard

Popular Content

Showing content with the highest reputation on 01/28/2016 in all areas

  1. kapiaba

    Falsos boletos

    Preciso da opiniões dos mestres: Em dois clientes, isto já aconteceu, o que os senhores recomendam? é possivel isso ocorrer pegando os dados dos .xmls? Vazamento da contabilidade? Invasão ao enviar o .xml pelo email? http://www.caixa.gov.br/seguranca/antigolpes/falsosboletos/Paginas/default.aspx http://www.caixa.gov.br/seguranca/boletos/Paginas/default.aspx Obg. abs.
    1 point
  2. Espero que possa ajudar os amigos do forum, como disse o suporte do Fernando é muito bom, vale muito a pena comprar a DLL. #include 'fivewin.ch' #include 'hbdll.ch' static s_hDLL, s_cSistema, s_cTituloMensagem /******************************************************************************/ procedure DownloadNFe( cChave, cPasta, cSerie ) local oDialog, oIcone, oFonte, hInput := HB_Hash() local cCaptcha := Space( 6 ) local lSemParametros := Empty( PCount() ) if lSemParametros cChave := Space( 44 ) cPasta := m->cDiretorioXML cSerie := m->cCertificado endif define font oFonte name 'Arial' size 6, 16 bold define icon oIcone resource 'MAINSG' define dialog oDialog title 'Download XML - NFe' from 0, 0 to 164, 565 pixel font oFonte icon oIcone @ 7, 112 say 'Chave:' of oDialog pixel @ 34, 112 say 'Captcha:' of oDialog pixel @ 16, 112 get hInput['Chave'] var cChave of oDialog pixel size 165, 13 picture '@9' Valid ValidaChaveConsulta( cChave ) @ 43, 112 get hInput['Captcha'] var cCaptcha of oDialog pixel size 34, 13 picture '@!' @ 8, 4 image hInput['Imagem'] of oDialog pixel size 104, 48 adjust @ 64, 174 button '&Baixar' of oDialog pixel size 45, 12 action XmlDownload( hInput, cPasta, cSerie, oDialog, lSemParametros ) @ 64, 226 button '&Sair' of oDialog pixel size 45, 12 action oDialog:End() cancel @ 64, 4 button '&Atualizar Captcha' of oDialog pixel size 64, 12 action AtualizaCaptcha( hInput, oDialog ) oDialog:lHelpIcon := .f. activate dialog oDialog centered on init ( IIf( lSemParametros,, hInput['Chave']:disable() ), ; AtualizaCaptcha( hInput, oDialog ) ) oIcone:end() oFonte:end() return /******************************************************************************/ static function ValidaChaveConsulta( cChave ) /* */ if !ValidaChaveDaNFE( cChave ) return .f. endif if !ValidaDVNfe(cChave) return(.f.) endif return(.t.) /******************************************************************************/ function CarregaDLLDownloadNFe( cSistema ) local oPulsante if s_cTituloMensagem == nil if HB_IsString( cSistema ) s_cSistema := cSistema s_cTituloMensagem := cSistema else s_cTituloMensagem := 'Aviso do Sistema' endif endif if s_hDLL == nil if !File( 'BaixarXMLNFe.dll' ) MsgStop( 'Arquivo não encontrado: BaixarXMLNFe.dll' + CRLF + 'Verifique!', s_cTituloMensagem ) return .f. endif oPulsante := TPul():new( 'Aguarde.' + CRLF + 'Carregando e registrando DLL...' ) s_hDLL := LoadLibrary( 'BaixarXMLNFe.dll' ) DllRegistra() DllLicenca( "LICENSA FERNANDO" ) // Fornecido por: Fernando (fsist.com.br) oPulsante:end() endif return .t. /******************************************************************************/ procedure SetProxyDownloadNFe( lProxy, cIP, nPorta, cUsuario, cSenha ) if lProxy Proxy( cIP, nPorta, cUsuario, cSenha ) else Proxy( '', 0, '', '' ) endif return /******************************************************************************/ procedure FinalizaDLLDownloadNFe() if !Empty( s_hDLL ) FreeLib32( s_hDLL ) s_hDLL := nil endif return /******************************************************************************/ static procedure XmlDownload( hInput, cPasta, cSerie, oDialog, lSemParametros ) local cChave := AllTrim( hInput['Chave' ]:value() ) local cCaptcha := AllTrim( hInput['Captcha']:value() ) local cArquivoXML := cPasta + '\' + cChave + '.xml' local bDownload, nRetorno, nErro, cErro if Len( cChave ) < 44 MsgStop( 'Chave tem que ter 44 digitos!', s_cTituloMensagem ) hInput['Chave']:setFocus() return endif if Len( cCaptcha ) < 6 MsgStop( 'Favor informar o captcha corretamente!', s_cTituloMensagem ) hInput['Captcha']:setFocus() return endif if Empty( cSerie ) bDownload := { || nRetorno := BaixarXMLNFeSemCert( cChave, cCaptcha, cArquivoXML ) } else bDownload := { || nRetorno := BaixarXMLNFeComCert( cChave, cCaptcha, cArquivoXML ) } endif SetCertificadoDigital( cSerie ) MsgRun( 'Aguarde! Realizando Download do XML...', s_cSistema, bDownload ) if nRetorno == 1 MsgInfo( 'Download realizado com sucesso! Arquivo gerado:' + CRLF + cArquivoXML, ; 'NF-e ' + IIf( Empty( cSerie ), 'sem', 'com' ) + ' certificado digital' ) if lSemParametros AtualizaCaptcha( hInput, oDialog ) hInput['Chave' ]:cText( Space( 44 ) ) hInput['Captcha']:cText( Space( 6 ) ) hInput['Chave' ]:setFocus() else oDialog:end() endif else nErro := MsgCode() do case case nErro == 1 cErro := 'É necessário digitar a chave da nfe.' case nErro == 2 cErro := 'É necessário digitar o captcha.' case nErro == 3 cErro := 'Código da Imagem inválido. Tente novamente.' case nErro == 4 cErro := 'NF-e INEXISTENTE na base nacional.' otherwise cErro := 'Desconhecido' endcase MsgStop( 'Não foi possível realizar o download do XML!' + CRLF + ; 'Erro ' + AllTrim( Str( nErro ) ) + ': ' + cErro, s_cTituloMensagem ) AtualizaCaptcha( hInput, oDialog ) hInput['Captcha']:cText( Space( 6 ) ) hInput['Captcha']:setFocus() hInput['Captcha']:setPos( 1 ) endif return /******************************************************************************/ static procedure AtualizaCaptcha( hInput, oDialog ) local nRetorno MsgRun( 'Aguarde! Atualizando Captcha...', s_cSistema, { || nRetorno := Captcha( 'Captcha.jpg' ) } ) if nRetorno == 0 // retorna 1 ou 0, 1 é ok MsgStop( 'Não foi possível carregar o captcha!', s_cTituloMensagem ) oDialog:end() else hInput['Imagem']:loadImage( , 'Captcha.jpg' ) hInput['Imagem']:refresh() endif return /******************************************************************************/ DLL32 FUNCTION Captcha(SalvarEm AS STRING) AS LONG PASCAL LIB 'BaixarXMLNFe.dll' DLL32 FUNCTION BaixarXMLNFeSemCert(Chave AS STRING, Captcha AS STRING, SalvarEm AS STRING) AS LONG PASCAL LIB 'BaixarXMLNFe.dll' DLL32 FUNCTION BaixarXMLNFeComCert(Chave AS STRING, Captcha AS STRING, SalvarEm AS STRING) AS LONG PASCAL LIB 'BaixarXMLNFe.dll' DLL32 FUNCTION GetCertificadoDigital() AS LONG PASCAL LIB 'BaixarXMLNFe.dll' DLL32 FUNCTION SetCertificadoDigital(Cert AS STRING) AS LONG PASCAL LIB 'BaixarXMLNFe.dll' DLL32 FUNCTION MsgCode() AS LONG PASCAL LIB 'BaixarXMLNFe.dll' DLL32 FUNCTION DLLRegistra() AS LONG PASCAL LIB 'BaixarXMLNFe.dll' DLL32 FUNCTION DLLLicenca(Chave AS STRING) AS LONG PASCAL LIB 'BaixarXMLNFe.dll' DLL32 FUNCTION Proxy(Host AS STRING, Port AS LONG, User AS STRING, Pass AS STRING) AS LONG PASCAL LIB 'BaixarXMLNFe.dll'
    1 point
×
×
  • Create New...