Consulta optante do simples online

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Consulta optante do simples online

Mensagem por gilbertosilverio »

Jairo, Amigos,

Me desculpem, baixei a nova versão, mais na hora de descompactar, usei a anterior...

Me perdoem, esta funcionando perfeitamente, ficou muito pratico... parabéns Daniel.

:-Y :-Y :-Y
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Consulta optante do simples online

Mensagem por gilbertosilverio »

Daniel,

Clicando sobre o botão limpar da este erro.

Código: Selecionar todos

<HTML><HEAD><TITLE>Harbour MiniGUI Errorlog File</TITLE></HEAD><style> body{ font-family: sans-serif;background-color: #ffffff;font-size: 75%;color: #000000;}h1{font-family: sans-serif;font-size: 150%;color: #0000cc;font-weight: bold;background-color: #f0f0f0;}.updated{font-family: sans-serif;color: #cc0000;font-size: 110%;}.normaltext{font-family: sans-serif;font-size: 100%;color: #000000;font-weight: normal;text-transform: none;text-decoration: none;}</style><BODY>
<H1 Align=Center>Harbour MiniGUI Errorlog File</H1><BR>
<HR>
<p class="updated">Application: C:\Users\gilbe\Desktop\BaixaNFE\impnfenovo.exe<BR>
Date: 10/31/17  Time: 10:10:08<BR>
Time from start: 0 days 0 hours 0 mins 6 secs<BR>
Error MGERROR/0  Control: oTxt_captcha Of principal Not defined. Program terminated.</p><BR>
Called from MSGMINIGUIERROR(94) in module: h_error.prg
<BR>
Called from SETPROPERTY(3629) in module: h_controlmisc.prg
<BR>
Called from LIMPAR(48) in module: impnfenovo.prg
<BR>
Called from (b)MAIN(67) in module: impnfenovo.prg
<BR>
Called from _DOCONTROLEVENTPROCEDURE(1795) in module: h_windows.prg
<BR>
Called from EVENTS(1730) in module: h_events.prg
<BR>
Called from DOMESSAGELOOP(0)
<BR>
Called from _ACTIVATEWINDOW(1449) in module: h_windows.prg
<BR>
Called from MAIN(40) in module: impnfenovo.prg
<BR>
<HR>
</BODY></HTML><p class="updated">Application: C:\Users\gilbe\Desktop\BaixaNFE\impnfenovo.exe<BR>
Date: 10/31/17  Time: 10:10:53<BR>
Time from start: 0 days 0 hours 0 mins 2 secs<BR>
Error MGERROR/0  Control: oTxt_captcha Of principal Not defined. Program terminated.</p><BR>
Called from MSGMINIGUIERROR(94) in module: h_error.prg
<BR>
Called from SETPROPERTY(3629) in module: h_controlmisc.prg
<BR>
Called from LIMPAR(48) in module: impnfenovo.prg
<BR>
Called from (b)MAIN(67) in module: impnfenovo.prg
<BR>
Called from _DOCONTROLEVENTPROCEDURE(1795) in module: h_windows.prg
<BR>
Called from EVENTS(1730) in module: h_events.prg
<BR>
Called from DOMESSAGELOOP(0)
<BR>
Called from _ACTIVATEWINDOW(1449) in module: h_windows.prg
<BR>
Called from MAIN(40) in module: impnfenovo.prg
<BR>
<HR>
</BODY></HTML>
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
marcelo.chakal
Usuário Nível 1
Usuário Nível 1
Mensagens: 19
Registrado em: 29 Ago 2017 14:19

Consulta optante do simples online

Mensagem por marcelo.chakal »

fladimir escreveu:O Rubens e o esquema de pegar o Captcha q nem o colega postou e eu perguntei como fez vc sabe? Ele não respondeu.
Opa galera, desculpe a demora, estive fora desde a semana passada.

Então Fladimir, o que eu fiz foi um esquema utilizando a linguagem R, é bemmm complicado a criação do serviço, mas eu fiz e disponibilizei em um servidor.

Basta você enviar para este link: http://35.193.152.7:8000/predict_rfb passando o post no parametro IMG a imagem em base64. No código do Daniel, na função "AtualizaImagem", ele faz o download da imagem em base64 já e grava na variável cFile. Sendo assim, é só utilizar o código abaixo.

Código: Selecionar todos

/* PROCESSA A IMAGEM */   
    cParm:= {{"img", cFile}}
			 
	Try
		oInternet:= TIPClientHTTP():New("http://35.193.152.7:8000/predict_rfb", .f.)
		oInternet:nConnTimeout:= 10000
	Catch
		IIf(lUsarMiniGui, MsgInfo('Erro na criação do serviço'), Alert('Erro na Criação do Serviço'))
		  Return .f.
		End
		
	If oInternet:Open()
		If oInternet:POST(cParm)
			cHtml:= oInternet:ReadAll()
		Else
			IIf(lUsarMiniGui, MsgInfo('Erro na criacao do arquivo de imagem', 'Aviso do Sistema'), Alert('Erro na criação do arquivo de imagem', 'Aviso do Sistema'))
				Return .F.
		EndIf
	Else
		IIf(lUsarMiniGui, msgInfo('Erro na Conexão'), Alert('Erro na Conexão'))
			Return .f.
	EndIf
	cHtml := StrTran(cHtml, '["', '')
	cHtml := StrTran(cHtml, '"]', '')
	principal.oTxt_captcha.Value:=cHtml
	
   /* FIM */
Deu pra entender? Se achar melhor, posso passar a função atualiza imagem inteira.
Avatar do usuário
marcelo.chakal
Usuário Nível 1
Usuário Nível 1
Mensagens: 19
Registrado em: 29 Ago 2017 14:19

Consulta optante do simples online

Mensagem por marcelo.chakal »

Segue a função AtualizaImagem com o processamento do captcha.

Código: Selecionar todos

Function AtualizaImagem()
	Local oInternet, cParm
	
   Try
      oServer:= win_OleCreateObject( "MSXML2.ServerXMLHTTP.5.0")
   Catch
   	IIf(lUsarMiniGui, MsgInfo('Erro na Criação do Serviço'), Alert('Erro na Criação do Serviço'))
      Return .f.
   End
   Try
      oServer:Open( "GET", cUrl, .f. )
      oServer:SetRequestHeader( "Content-Type", "application/x-www-form-urlencoded" )
      oServer:SetRequestHeader( "Connection", "keep-alive" )
      oServer:Send()
      oServer:WaitForResponse( 10000 )
   Catch
   	IIf(lUsarMiniGui, MsgInfo('Erro na Conexão com o Site'), Alert('Erro na Conexão com o Site'))
      Return .f.
   End
   cHtml:= oServer:ResponseBody
   cStringCookie:= oServer:getResponseHeader("Set-Cookie")

   nInie   := At('id="ctl00_ContentPlaceHolder1_lblMensagemErro">',  cHtml) + 47
   If nInie > 47
      cHtml1  := SubStr( cHtml, nInie)
      nFime   := At('</span>', cHtml1) - 1
      cMsgErro:= SubStr(cHtml, nInie, nFime)
      If ! Empty(cMsgErro)
      	IIf(lUsarMiniGui, MsgInfo(cMsgErro, 'Erro no Site ' + cUrl), Alert(cMsgErro, 'Erro no Site ' + cUrl))
         Return .f.
      EndIf
   EndIf
   nIni  := At('id="__VIEWSTATE" value=',  cHtml) + 24
   cHtml1:= SubStr( cHtml, nIni)
   nFim  := At('" />', cHtml1) - 1
   cViewState:= SubStr(cHtml, nIni, nFim)

   nIni1 := At('id="__EVENTVALIDATION" value="',  cHtml) + 30
   cHtml1:= SubStr( cHtml, nIni1)
   nFim1 := At('" />', cHtml1) - 1
   cEeventValidation:= SubStr(cHtml, nIni1, nFim1)

   nIni2 := At('id="__VIEWSTATEGENERATOR" value="',  cHtml) + 33
   cHtml1:= SubStr( cHtml, nIni2)
   nFim2 := At('" />', cHtml1) - 1
   cViewStateGenerator:= SubStr(cHtml, nIni2, nFim2)

   nIni3 := At('id="ctl00_ContentPlaceHolder1_token" value="',  cHtml) + 44
   cHtml1:= SubStr( cHtml, nIni3)
   nFim3 := At('" />', cHtml1) - 1
   cHiddenToken:= SubStr(cHtml, nIni3, nFim3)

   nIni4 := At('id="ctl00_ContentPlaceHolder1_captchaSom" value="',  cHtml) + 49
   cHtml1:= SubStr( cHtml, nIni4)
   nFim4 := At('" />', cHtml1) - 1
   cHiddenSom:= SubStr(cHtml, nIni4, nFim4)

   nIni  := At('data:image/png;base64,',  cHtml) + 22
   cHtml1:= SubStr(cHtml, nIni)
   nFim  := At('" />', cHtml1) - 1
   cFile:= SubStr(cHtml, nIni, nFim)
   txt_file:=fcreate("captcha.png", 0)
   If (!(ferror() = 0))
   	IIf(lUsarMiniGui, MsgInfo("Erro de criacao do arquivo de imagem " + Str(ferror(), 3, 0)), 	Alert("Erro de criacao do arquivo de imagem " + Str(ferror(), 3, 0)))
      Return .f.
   EndIf

   cCodigo:= SubStr(cHtml, nIni, nFim)
   If Empty(cCodigo)
   	IIf(lUsarMiniGui, MsgInfo("Erro de criacao do arquivo de imagem"), Alert("Erro de criacao do arquivo de imagem"))
      Return .f.
   EndIf
   
   /* PROCESSA A IMAGEM */
   
    cParm:= {{"img", cFile}}
			 
	Try
		oInternet:= TIPClientHTTP():New("http://35.184.33.72:8000/predict_rfb", .f.)
		oInternet:nConnTimeout:= 10000
	Catch
		IIf(lUsarMiniGui, MsgInfo('Erro na criação do serviço'), Alert('Erro na Criação do Serviço'))
		  Return .f.
		End
		
	If oInternet:Open()
		If oInternet:POST(cParm)
			cHtml:= oInternet:ReadAll()
		Else
			IIf(lUsarMiniGui, MsgInfo('Erro na criacao do arquivo de imagem', 'Aviso do Sistema'), Alert('Erro na criação do arquivo de imagem', 'Aviso do Sistema'))
				Return .F.
		EndIf
	Else
		IIf(lUsarMiniGui, msgInfo('Erro na Conexão'), Alert('Erro na Conexão'))
			Return .f.
	EndIf
	cHtml := StrTran(cHtml, '["', '')
	cHtml := StrTran(cHtml, '"]', '')
	principal.oTxt_captcha.Value:=cHtml
	
   /* FIM */
   
    cFile:= hb_base64Decode(cFile, cCodigo)
    FWrite(txt_file, cFile)
    FClose(txt_file)
    SetProperty ('principal', 'oImg_captcha', 'Picture', 'Captcha.png')
    principal.Button_1.Enabled:=.T.
	
	Return .t.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Consulta optante do simples online

Mensagem por fladimir »

Obrigado pelo retorno colega.
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.
Avatar do usuário
marcelo.chakal
Usuário Nível 1
Usuário Nível 1
Mensagens: 19
Registrado em: 29 Ago 2017 14:19

Consulta optante do simples online

Mensagem por marcelo.chakal »

fladimir escreveu:Obrigado pelo retorno colega.
Nada, se tiver alguma duvida, só me avisar. Como disse, sou bem leigo em Harbour kk, mas no que eu puder ajudar, estarei disposto.
Avatar do usuário
Wanderlei
Usuário Nível 3
Usuário Nível 3
Mensagens: 196
Registrado em: 25 Jan 2008 13:19
Localização: Goiânia - GO

Consulta optante do simples online

Mensagem por Wanderlei »

Oi Daniel, não consegui utilizar, aparece a mensagem que o Captcha é obrigatório marcar.
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Imagem
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

Consulta optante do simples online

Mensagem por Daniel »

Tava com uma fala no captcha e eles arrumarão.
Vamos tem que continuar com a versão velha
Pois ta difícil de quebrar o captcha :(
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
edmarfrazao
Usuário Nível 3
Usuário Nível 3
Mensagens: 185
Registrado em: 06 Dez 2005 11:16

Consulta optante do simples online

Mensagem por edmarfrazao »

a rotina parou.



Acho que devemos ter duas opções.

1)Automática

2)Se a automática falhar ter a opção de:

Manual abrindo o Internet Explorer e digitando o eu sou robo e depois importando(este fiz usando o exemplo acima e gerei com xharbour e hwgui)
www.sesistemas.net/baixanfe.zip
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Consulta optante do simples online

Mensagem por Jairo Maia »

Olá pessoal,

Apenas lembrando que o link da consulta antiga mudou de http para https:
https://www.nfe.fazenda.gov.br/portal/c ... SeqxE8pl8=

Se tenta baixar vem o captcha mas dá erro de criação do serviço.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
marcelo.chakal
Usuário Nível 1
Usuário Nível 1
Mensagens: 19
Registrado em: 29 Ago 2017 14:19

Consulta optante do simples online

Mensagem por marcelo.chakal »

Pessoal, fiz um ajuste, testem este exe agora.
Criem uma pasta em C:/NFe é onde os arquivos baixados irão diretamente pra esta pasta.

Caso alguém queira, segue a função AtualizarImagem atualizado:

Código: Selecionar todos

Function AtualizaImagem()
	Local oInternet, cParm
	
   Try
      oServer:= win_OleCreateObject( "MSXML2.ServerXMLHTTP.5.0")
   Catch
   	IIf(lUsarMiniGui, MsgInfo('Erro na Criação do Serviço'), Alert('Erro na Criação do Serviço'))
      Return .f.
   End
   Try
      oServer:Open( "GET", cUrl, .f. )
	  oServer:SetRequestHeader( "Content-Type", "application/x-www-form-urlencoded" )
      oServer:SetRequestHeader( "Connection", "keep-alive" )
      oServer:Send()
      oServer:WaitForResponse( 10000 )
   Catch
   	IIf(lUsarMiniGui, MsgInfo('Erro na Conexão com o Site'), Alert('Erro na Conexão com o Site'))
      Return .f.
   End
   cHtml:= oServer:ResponseBody
   cStringCookie:= oServer:getResponseHeader("Set-Cookie")

   nInie   := At('id="ctl00_ContentPlaceHolder1_lblMensagemErro">',  cHtml) + 47
   If nInie > 47
      cHtml1  := SubStr( cHtml, nInie)
      nFime   := At('</span>', cHtml1) - 1
      cMsgErro:= SubStr(cHtml, nInie, nFime)
      If ! Empty(cMsgErro)
      	IIf(lUsarMiniGui, MsgInfo(cMsgErro, 'Erro no Site ' + cUrl), Alert(cMsgErro, 'Erro no Site ' + cUrl))
         Return .f.
      EndIf
   EndIf
   nIni  := At('id="__VIEWSTATE" value=',  cHtml) + 24
   cHtml1:= SubStr( cHtml, nIni)
   nFim  := At('" />', cHtml1) - 1
   cViewState:= SubStr(cHtml, nIni, nFim)

   nIni1 := At('id="__EVENTVALIDATION" value="',  cHtml) + 30
   cHtml1:= SubStr( cHtml, nIni1)
   nFim1 := At('" />', cHtml1) - 1
   cEeventValidation:= SubStr(cHtml, nIni1, nFim1)

   nIni2 := At('id="__VIEWSTATEGENERATOR" value="',  cHtml) + 33
   cHtml1:= SubStr( cHtml, nIni2)
   nFim2 := At('" />', cHtml1) - 1
   cViewStateGenerator:= SubStr(cHtml, nIni2, nFim2)

   nIni3 := At('id="ctl00_ContentPlaceHolder1_token" value="',  cHtml) + 44
   cHtml1:= SubStr( cHtml, nIni3)
   nFim3 := At('" />', cHtml1) - 1
   cHiddenToken:= SubStr(cHtml, nIni3, nFim3)

   nIni4 := At('id="ctl00_ContentPlaceHolder1_captchaSom" value="',  cHtml) + 49
   cHtml1:= SubStr( cHtml, nIni4)
   nFim4 := At('" />', cHtml1) - 1
   cHiddenSom:= SubStr(cHtml, nIni4, nFim4)

   nIni  := At('data:image/png;base64,',  cHtml) + 22
   cHtml1:= SubStr(cHtml, nIni)
   nFim  := At('" />', cHtml1) - 1
   cFile:= SubStr(cHtml, nIni, nFim)
   txt_file:=fcreate("captcha.png", 0)
   If (!(ferror() = 0))
   	IIf(lUsarMiniGui, MsgInfo("Erro de criacao do arquivo de imagem " + Str(ferror(), 3, 0)), 	Alert("Erro de criacao do arquivo de imagem " + Str(ferror(), 3, 0)))
      Return .f.
   EndIf

   cCodigo:= SubStr(cHtml, nIni, nFim)
   If Empty(cCodigo)
   	IIf(lUsarMiniGui, MsgInfo("Erro de criacao do arquivo de imagem"), Alert("Erro de criacao do arquivo de imagem"))
      Return .f.
   EndIf
   
   /* PROCESSA A IMAGEM */
   
    cParm:= {{"img", cFile}}
			 
	Try
		oInternet:= TIPClientHTTP():New("http://35.184.33.72:8000/predict_rfb", .f.)
		oInternet:nConnTimeout:= 10000
	Catch
		IIf(lUsarMiniGui, MsgInfo('Erro na criação do serviço'), Alert('Erro na Criação do Serviço'))
		  Return .f.
		End
		
	If oInternet:Open()
		If oInternet:POST(cParm)
			cHtml:= oInternet:ReadAll()
		Else
			IIf(lUsarMiniGui, MsgInfo('Erro na criacao do arquivo de imagem', 'Aviso do Sistema'), Alert('Erro na criação do arquivo de imagem', 'Aviso do Sistema'))
				Return .F.
		EndIf
	Else
		IIf(lUsarMiniGui, msgInfo('Erro na Conexão'), Alert('Erro na Conexão'))
			Return .f.
	EndIf
	cHtml := StrTran(cHtml, '["', '')
	cHtml := StrTran(cHtml, '"]', '')
	principal.oTxt_captcha.Value:=cHtml
	
   /* FIM */
   
    cFile:= hb_base64Decode(cFile, cCodigo)
    FWrite(txt_file, cFile)
    FClose(txt_file)
    SetProperty ('principal', 'oImg_captcha', 'Picture', 'Captcha.png')
    principal.Button_1.Enabled:=.T.
	
	Return .t.
Basta trocar a função AtualizaImagem() que tem no pgr por esta.
Anexos
impnfe_com_captcha.rar
Com leitura do captcha
(867.11 KiB) Baixado 149 vezes
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Consulta optante do simples online

Mensagem por janio »

Nada, se tiver alguma duvida, só me avisar. Como disse, sou bem leigo em Harbour kk, mas no que eu puder ajudar, estarei disposto.
Leigo em Harbour e ja fez isso? kkkkk
ta de brinks
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
edmarfrazao
Usuário Nível 3
Usuário Nível 3
Mensagens: 185
Registrado em: 06 Dez 2005 11:16

Consulta optante do simples online

Mensagem por edmarfrazao »

Este ultima versão esta funcionado

mas so se criar o diretorio c:\nfe


não poderia receber um parametro chave e diretorio

e se não informado salvar na pasta corrente.


Poderia posta os fontes?
Avatar do usuário
marcelo.chakal
Usuário Nível 1
Usuário Nível 1
Mensagens: 19
Registrado em: 29 Ago 2017 14:19

Consulta optante do simples online

Mensagem por marcelo.chakal »

edmarfrazao escreveu:Este ultima versão esta funcionado

mas so se criar o diretorio c:\nfe


não poderia receber um parametro chave e diretorio

e se não informado salvar na pasta corrente.


Poderia posta os fontes?
É o mesmo fonte, só fiz uns ajustes pra salvar sem perguntar, mas basta trocar a função AtualizaImagem, pela que eu postei.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Consulta optante do simples online

Mensagem por Jairo Maia »

Olá Pessoal,

Marcelo, ao executar seu exe dá a mensagem: Erro de conexão com o site, e não vem o captcha.

Nos fontes do Daniel, se alterar a variavel cUrl para:
https://www.nfe.fazenda.gov.br/portal/c ... SeqxE8pl8=, vem o captcha, mas ao pressionar Continuar dá o erro: Erro na criação do serviço.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Responder