HERGON Posted November 22, 2013 Report Share Posted November 22, 2013 Boa tarde Sei que não é um assunto novo, mas os post's anteriores ficaram confusos e acabei me perdendo nas respostas. Gostaria de saber se é possível buscar informações pelo site do SINTEGRA passando por parâmetro o CNPJ da empresa. Sei que tem um captcha na página e isso pode dificultar. Se algum dos amigos conseguiu e puder disponibilizar, seria de grande ajuda, já que agora aqui em MG tem NFe sendo DENEGADA uma atrás da outra por conta do IE não habilitado. Seria legal consultar a situação cadastral do cliente antes de gerar uma NFe e ela ser denegada. Att. Herberson Gontijo Ponteware Informática Mashafire 1 Quote Link to comment Share on other sites More sharing options...
Theotokos Posted November 22, 2013 Report Share Posted November 22, 2013 http://fivewin.com.br/index.php?/topic/19758-consultar-sintegra/ Quote Link to comment Share on other sites More sharing options...
emotta Posted November 25, 2013 Report Share Posted November 25, 2013 Theotokos, foi justamente o que o Herberson disse... O post do link que voce postou ficou confuso, pois ele veio da base de dados do outro forum e as respostas lá ficaram fora de ordem e totalmente confuso. Acredito que a pergunta adequada é: Alguem aqui do forum tem algum esquema que digitando o CNPJ se traz os dados da empresa, buscando as informações do SINTEGRA? Se tem funciona legal isso? Tem custo? Tem o exemplo de codigo de como implementar? Também estou interessado nisso. abraços http://fivewin.com.br/index.php?/topic/19758-consultar-sintegra/ Quote Link to comment Share on other sites More sharing options...
SAOliveira Posted November 25, 2013 Report Share Posted November 25, 2013 Limitação: Só consulta a UF do certificado. Quote Link to comment Share on other sites More sharing options...
fladimir Posted November 26, 2013 Report Share Posted November 26, 2013 Eu tb tenho interesse alguma solução? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 27, 2013 Report Share Posted November 27, 2013 Veja se conseguem melhorar... /********************************************************* * Função : Classe para abrir uma página da net e pegar os dados * Data : Por : Alain/Rancharia * Revisado em : 25/07/2011 - 08:50:27 Por : Vagner Wirts * Como Usar : oSintegra := Sintegra():New(cUF) - Onde cUF = estado de consulta ex.: "SP" aRetorno := oSintegra:Consulta() If Len(aRetorno) > 0 MsgInfo("Consulta Executada com sucesso !","AVISO DE ALERTA") MsgArray(aRetorno) EndIf Return Nil * Comentário : //"GO" - não consegui abrir na mesma dialog //"MA" - Pega somente pela inscrição, ver como tratar //"MG" - Pega Exige um terceiro link, ver como tratar //"PA" - Pega somente pela inscrição, ver como tratar //"RN" - Pega somente pela inscrição, ver como tratar Ainda estão faltando alguns estados, pois não possuo informações para poder pegar o código fonte das páginas. Quanto aos estados acima, estarei pesquisando para ver como pegar, mas os estados de MA,PA e RN, parecem fácil de recuperar, apesar de possuir um 3º ítem. **********************************************************/ //----------------------------------------------------------------------------------------------------------------------// #Include "Fivewin.ch" #Include "\Trabalho\VLib\Chs\VLib.Ch" //----------------------------------------------------------------------------------------------------------------------// Function GetSintegra(cUF); Retu( Sintegra():New(cUF)) /********************************************************* * Função : PegaSintegra() - Função para pegar os dados através de um html em disco * Data : 26/07/2011 - 09:19:59 Por : Vagner * Revisado em : 26/07/2011 - 09:20:02 Por : Vagner * Parâmetros : * cHtml - Arquivo Html * Comentários : * Entrar na página e copiar o código fonte da página **********************************************************/ Function PegaSintegra(cHtml) ; Retu (MontaSintegra(cHtml)) //----------------------------------------------------------------------------------------------------------------------// Class Sintegra Data nTimeOut Init 240 // 4 minutos Data lDownload, lError, cError Data cRetorno Data aGru1,aGru2 Data cUrl,cPost,cView Method New(cUF) Constructor Method Consulta( cCGCorIE ) Method DownloadComplete( oAct ) Method Clear() INLINE DelUrlCache({::cPost,::cView}) EndClass //----------------------------------------------------------------------------------------------------------------------// Method New(cUF) Class Sintegra Local aUrls Default cUF := "SP" aUrls := PegaUrls(cUF) If Len(aUrls) == 0 MsgStop("Não pude inicializar o Sintegra.","Estado "+cUF+" Inválido.") Retu(.T.) Endif ::cUrl := aUrls[1] ::cPost := ::cUrl+aUrls[2] ::cView := ::cUrl+aUrls[3] ::aGru1 := AClone(aUrls[4]) ::aGru2 := AClone(aUrls[5]) Return Self //----------------------------------------------------------------------------------------------------------------------// Method Consulta() Class Sintegra Local oDlg, oAct Local nTimer If IsInternet() == .F. MsgStop("Sem conexão com a internet !") Return {} Else ::Clear() EndIf ::cRetorno := "" ::lDownload := .F. ::lError := .F. Define Dialog oDlg From 0,0 To 600,664 Pixel Title "[ SiNtEgRa - Fazendo Consulta ]" //Style WS_CAPTION oDlg:lHelpIcon:=.F. Activate Dialog oDlg NoWait Centered oAct:=TActivex():New(oDlg,"Shell.Explorer",00,0,664,600) oAct:bOnEvent := {|cEv|If(cEv=="DownloadComplete",::DownloadComplete( oAct ),Nil)} oAct:Silent := .T. oAct:Navigate( ::cPost ) oAct:SetFocus() nTimer:=Seconds() While !::lDownload If !IsWindowVisible( oDlg:hWnd ) ::lDownload := .T. ::lError := .T. ::cError := "Consulta Cancelada !" ElseIf !IsInternet() ::lDownload := .T. ::lError := .T. ::cError := "Perda de conexao com a internet !" ElseIf( Seconds()-nTimer ) >= ::nTimeOut ::lDownload := .T. ::lError := .T. ::cError := "Tempo limit esgotado !" EndIf SysRefresh() End Try ::cRetorno := oAct:Document:Body:InnerHtml Catch oE ::lError := .T. ::cError := "Falha no recebimento dos dados!" End oDlg:End() SysRefresh() If ::lDownload .and. !::lError Return MontaSintegra( ::cRetorno, ::aGru1,::aGru2) Else MsgStop(::cError,"Atenção") EndIf Return {} //----------------------------------------------------------------------------------------------------------------------// Method DownloadComplete( oAct ) Class Sintegra Local cHTTP := oAct:LocationURL LoGFile('Sintegra.Txt',{cHttp}) If ( ::cView == cHTTP ) If At("IDENTIFICA",oAct:Document:Body:InnerHtml) != 0 oAct:oWnd:Hide() ::lDownload := .T. Endif ElseIf At( "não+foi+encontrado", cHTTP ) > 0 ::cError := "O CNPJ não foi encontrado na base do Sintegra." ::lError := .T. ::lDownload := .T. ElseIf At( "incorreto", cHTTP ) > 0 ::cError := "O CNPJ não é valido !" ::lError := .T. ::lDownload := .T. EndIf Return Nil //----------------------------------------------------------------------------------------------------------------------// EXIT PROCEDURE SAIR PostQuitMessage( 0 ) __Quit() Return Nil //----------------------------------------------------------------------------------------------------------------------// /********************************************************* * Função : MontaSintegra() - Função para pegar as informações do html * Data : Por : Alain/Rancharia * Revisado em : 26/07/2011 - 07:50:27 Por : Vagner Wirts * Parâmetros : * cSintegra - Texto do html * aGru1 - Array com início e fim do texto * aGru2 - Array com as variáveis para retirar do texto **********************************************************/ Static Function MontaSintegra( cSintegra ,aGru1,aGru2) Local cLine, nLine, nTotal Local aReto := {} Local cTexto Local nPos,nPo1 //Retira Comentários do html Do Whil (nPos := At("<!--",cSintegra)) > 0 nPo1 := At("-->",cSintegra) cTexto := SubStr(cSintegra,nPos,(nPo1-nPos)+3) cSintegra := StrTran(cSintegra,cTexto,"") Enddo cSintegra := StrTran(cSintegra,"INFORMAÇÕES COMPLEMENTARES") cSintegra := StrTran(cSintegra,"ENDEREÇO DA EMPRESA") cSintegra := StripHTML( cSintegra ) cSintegra := GroupBy(aGru1[1],aGru1[2],cSintegra,.F.,.F.) cSintegra := RemoveBlankLineNfe( cSintegra ) nTotal := MLCount( cSintegra) MemoWrit("Teste.Txt",cSintegra) For nLine := 1 To nTotal cLine := Alltrim(MemoLine(cSintegra,,nLine)) If AsCan(aGru2,cLine) != 0 cTexto := Alltrim(MemoLine(cSintegra,,++nLine)) If AsCan(aGru2,cTexto) != 0 //Caso não haja a informação cTexto := " " --nLine Endif If cTexto == "Data da Concessão da Inscrição:" //para o Caso do RJ cTexto := " " --nLine Endif If Left(cLine,10) == "Logradouro" //No Logradouro separa o tipo do endereco nPos := At(" ",cTexto) cNew := AllTrim(Left(cTexto,nPos)) AaDd(aReto,cNew) cTexto := AlLTrim(Right(cTexto,Len(cTexto)-nPos)) Endif AaDd(aReto,RemoveChar(cTexto,{[.],[-],[/],[:]})) Endif Next nLine Retu(aReto) //----------------------------------------------------------------------------------------------------------------------// Static Function StripHTML( cHtml ) Local cString:= RemoveChar( cHTML, {"&","amp;","nbsp;",'<!-- ',' -->','<--','-->','||','\/','<!--%','%-->',[/\]} ) Local aMatch := HB_RegExAll("\<[^\>]*\>", cString) Aeval(aMatch,{|a|cString:=StrTran(cString,a[1])} ) Return cString //----------------------------------------------------------------------------------------------------------------------// Static Function DelUrlCache( aUrl ) Return AEval( aUrl, {|nX,nNum| DeleteUrlCacheEntry( aUrl[nNum] )} ) //----------------------------------------------------------------------------------------------------------------------// Static Function DelFile( cFile ) If File(cFile); FErase(cFile); EndIf Return Nil //----------------------------------------------------------------------------------------------------------------------// Static Function RemoveChar(cString,aChar) Aeval(aChar,{|cChar|cString:=StrTran(cString,cChar)}) Return(cString) //----------------------------------------------------------------------------------------------------------------------// Static Function GroupBy( cStart, cEnd, cString, lTags, lBreak ) Local nBegin, nEnd Local cFound, nAT Default lTags:=.F., lBreak:=.F. nBegin := At( cStart, cString ) If(nBegin == 0 ) ; Return "" ; EndIf If(lTags == .F.) ; nBegin += Len(cStart) ; EndIf If( cEnd != Nil ) nEnd := At( cEnd, cString, nBegin ) If nEnd == 0 Return "" Else nEnd := nEnd - nBegin EndIf If( lTags ) nEnd += Len( cEnd ) EndIf Else If lBreak nAt := At(CRLF,Substr(cString,nBegin,Len(cString))) If nAt > 0 nEnd := nAt - 1 If nEnd < Len(cString) ; nEnd := Len(cString)+1 ; Endif Else nEnd := Len( cString ) EndIf Else nEnd := Len( cString ) EndIf EndIf cFound := Substr( cString, nBegin, nEnd ) If lBreak If lTags cFound:=StrTran(cFound,CRLF) Else If cEnd != Nil nAt := At(CRLF,cFound) If nAt > 0 cFound := Left(cFound,nAT) EndIf Endif EndIf EndIf Return cFound //----------------------------------------------------------------------------------------------------------------------// Static Function RemoveBlankLineNfe( cTexto ) Local cTextoNew:="" Local nLines, cLine, nNum nLines := MLCount( cTexto, 400) For nNum := 0 To nLines cLine := Alltrim(MemoLine( cTexto, 400, nNum )) If !Empty(cLine) If cLine == "function ocultarExibir(idDaTabela)" nNum+=14 Loop EndIf if cLine<>"Ativo".and.cLine<>"Baixado".and.cLine<>"Inativo" cTextoNew += cLine + If (nNum<nLines,CRLF,"") endif EndIf Next nNum Return cTextoNew //----------------------------------------------------------------------------------------------------------------------// /********************************************************* * Função : PegaUrls() - Função para pegar as urls dos estados e também a configuração do itens para para localizar * Data : 25/07/2011 - 11:42:49 Por : Vagner * Revisado em : 25/07/2011 - 11:42:51 Por : Vagner * Parâmetros : * cUF - Unidade da Federação * Comentários : * Nem todos os campos do html são iguais então foi colocado em forma de array para melhor identificar **********************************************************/ Static Func PegaUrls(cUF) Local aRet := {} If cUF == "AC" ElseIf cUF == "AL" ElseIf cUF == "AM" ElseIf cUF == "AP" ElseIf cUF == "BA" aRet := {"http://www.sefaz.ba.gov.br/Sintegra/",; "sintegra.asp?estado=BA",; "Result.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados em"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Atual:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; } ElseIf cUF == "CE" aRet := {"http://www.sefaz.ce.gov.br/content/aplicacao/internet/servicos_online/sintegra/",; "sintegra.asp?estado=ce",; "result.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados em"},; {"CNPJ:",; "Inscrição Estadual:",; "RazãoSocial:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "CNAE Fiscal Primário:",; "Situação Cadastral Vigente:",; "Data da Situação Cadastral:",; "Regime de Recolhimento:" ; } ; } ElseIf cUF == "DF" ElseIf cUF == "ES" aRet := {"http://www.sintegra.es.gov.br/",; "",; "resultado.php",; {"IDENTIFICAÇÃO","Os dados acima são baseados em"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social :",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data da Situação Cadastral:",; "Regime de Apuração:" ; } ; } ElseIf cUF == "FN" ElseIf cUF == "GO" aRet := {"http://www.sefaz.go.gov.br/sintegra/ConsultaCadastro/",; "",; "consulta.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados em"},; {"CGC/CNPJ:",; "Inscrição Estadual - CCE :",; "Nome / Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data da Situação Cadastral:",; "Regime de Apuração:" ; } ; } //http://www.sefaz.go.gov.br/sintegra/ConsultaCadastro/ //http://www.sefaz.go.gov.br/sintegra/ConsultaCadastro/consulta.asp ElseIf cUF == "MA" aRet := {"http://www.sefaz.ma.gov.br/sintegra/",; "sintegra.asp",; "result.asp",; {"IDENTIFICAÇÃO","Os dados acima estão baseados em"},; {"CGC/CNPJ:",; "Inscrição Estadual:",; "RazãoSocial:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "CNAE Principal:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; } //25/07/2011 16:47:39: http://www.sefaz.ma.gov.br/sintegra/sintegra.asp //25/07/2011 16:48:16: http://www.sefaz.ma.gov.br/sintegra/result_lista_ruc.asp //25/07/2011 16:49:36: http://www.sefaz.ma.gov.br/sintegra/result.asp?IE=12147386 ElseIf cUF == "MG" aRet := {"http://www.sintegra.fazenda.mg.gov.br/",; "consulta_empresa_pesquisa.asp",; "consulta_empresa_principal.asp",; {"IDENTIFICAÇÃO","Os dados acima estão baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; } //http://www.sintegra.fazenda.mg.gov.br/consulta_empresa_pesquisa.asp //http://www.sintegra.fazenda.mg.gov.br/consulta_empresa_inscricoes.asp //http://www.sintegra.fazenda.mg.gov.br/consulta_empresa_principal.asp ElseIf cUF == "MS" aRet := {"http://www1.sefaz.ms.gov.br/Cadastro/sintegra/",; "cadastromsCCI.asp",; "ResultadoCCI.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "RazãoSocial/Nome:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "AtividadeEconômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; } ElseIf cUF == "MT" ElseIf cUF == "PA" aRet := {"http://www1.sefaz.ms.gov.br/Cadastro/sintegra/",; "cadastromsCCI.asp",; "ResultadoCCI.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Atual:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; } //https://app.sefa.pa.gov.br/Sintegra/detalharEstabelecimento.do?id=152077090 //152077090=Inscrição estadual //https://app.sefa.pa.gov.br/Sintegra/ //https://app.sefa.pa.gov.br/Sintegra/detalharEstabelecimento.do;jsessionid=fb69c7d0116ba787401876810876ed709ff929358f4cc50c9928e182e83f36c2.e3uKbhyPbhf0bhyNe0?id=152914692 ElseIf cUF == "PB" ElseIf cUF == "PE" ElseIf cUF == "PI" ElseIf cUF == "PR" aRet := {"http://www.sintegra.fazenda.pr.gov.br/",; "sintegra/",; "sintegra/",; {"IDENTIFICAÇÃO","Os dados acima são baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Nome Empresarial:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica Principal:",; "Situação Atual:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; } ElseIf cUF == "RJ" aRet := {"http://www.fazenda.rj.gov.br/projetoCPS/",; "consulta.jsp;jsessionid=RqRCTtJRZc6Tt0LhXgZnKh1jt8JQLx1Lk2J8HJ7xKqJpGvhQ0W4q!-1007206184",; "cpsServlet",; {"IDENTIFICAÇÃO","Data da Consulta:"},; {"CNPJ:",; "Inscrição Estadual:",; "RazãoSocial:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "AtividadeEconômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; } ElseIf cUF == "RN" aRet := {"http://www.sintegra.fazenda.pr.gov.br/",; "sintegra/",; "sintegra/",; {"IDENTIFICAÇÃO","Os dados acima são baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "CNAE Fiscal Primário:",; "Situação Cadastral Atual:",; "Data da Situação Cadastral:",; "Regime de Pagamento:" ; } ; } //http://www.set.rn.gov.br/sintegra/default.asp //http://www.set.rn.gov.br/sintegra/cnpj.asp?cnpj=03766900000132 //<td bgcolor="#FAFAE4" align="center" ><div align="left"><a href="result.asp?ie=085197"> Encontrar o IE //http://www.set.rn.gov.br/sintegra/result.asp?ie=085197 ElseIf cUF == "RO" aRet := {"http://portal.intranet.sefin.ro.gov.br/PortalContribuinte/",; "parametropublica.jsp",; "consultapublica.jsp",; {"IDENTIFICA",Nil},; {"C.P.F/C.N.P.J:",; "Inscrição Estadual:",; "Razão Social:",; "Endereço:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Regime de Pagamento:",; "Situação Cadastral Vigente:",; "Data:",; "Regime de Apuração de ICMS:" ; } ; } ElseIf cUF == "RR" ElseIf cUF == "RS" ElseIf cUF == "SC" aRet := {"http://sistemas3.sef.sc.gov.br/sintegra/",; "consulta_empresa_pesquisa.aspx",; "consulta_empresa_pesquisa.aspx",; {"IDENTIFICAÇÃO","Os dados acima estão baseados em informações"},; {"CPF/CNPJ:",; "Inscrição Estadual:",; "Nome/Razão Estadual:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "CNAE-Fiscal Principal:",; "Situação Cadastral Atual:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; } ElseIf cUF == "SE" ElseIf cUF == "SP" aRet := {"http://pfeserv1.fazenda.sp.gov.br/sintegrapfe/",; "consultaSintegraServlet",; "sintegra",; {"IDENTIFICAÇÃO","Os dados acima estão baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; } ElseIf cUF == "TO" Endif Retu(aRet) //----------------------------------------------------------------------------------------------------------------------// DLL Static Function DeleteUrlCacheEntry(lpszUrlName AS STRING) AS LONG PASCAL FROM "DeleteUrlCacheEntryA" LIB "wininet.dll" //----------------------------------------------------------------------------------------------------------------------// Quote Link to comment Share on other sites More sharing options...
emotta Posted November 27, 2013 Report Share Posted November 27, 2013 Kapiaba, da pra postar um exemplo de uso dela? Quote Link to comment Share on other sites More sharing options...
emotta Posted November 27, 2013 Report Share Posted November 27, 2013 consegui, muito boa.... já vamos implementar em nosso sistema administrativo interno... isso vai facilitar nossa vida para cadastrar clientes... obrigado ! kapiaba 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 27, 2013 Report Share Posted November 27, 2013 consegui, muito boa.... já vamos implementar em nosso sistema administrativo interno... isso vai facilitar nossa vida para cadastrar clientes... obrigado ! Maravilha, agora eu que peço para voce postar um exemplo de uso dela, pois não consegui fazer funcionar, mas acho que era porque a minha versão do five era muito velha, da época do Vagner Wirts.... kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk Obg. Abs. Quote Link to comment Share on other sites More sharing options...
emotta Posted November 27, 2013 Report Share Posted November 27, 2013 #Include "Fivewin.ch" Function Teste() Local oSintegra := GetSintegra("SP") aRet := oSintegra:Consulta( ) msgstop(sr_showvector(aRet)) Return Function GetSintegra(cUF); Retu( Sintegra():New(cUF)) /********************************************************* * Função : PegaSintegra() - Função para pegar os dados através de um html em disco * Data : 26/07/2011 - 09:19:59 Por : Vagner * Revisado em : 26/07/2011 - 09:20:02 Por : Vagner * Parâmetros : * cHtml - Arquivo Html * Comentários : * Entrar na página e copiar o código fonte da página **********************************************************/ Function PegaSintegra(cHtml) ; Retu (MontaSintegra(cHtml)) //----------------------------------------------------------------------------------------------------------------------// Class Sintegra Data nTimeOut Init 240 // 4 minutos Data lDownload, lError, cError Data cRetorno Data aGru1,aGru2 Data cUrl,cPost,cView Method New(cUF) Constructor Method Consulta( cCGCorIE ) Method DownloadComplete( oAct ) Method Clear() INLINE DelUrlCache({::cPost,::cView}) EndClass //----------------------------------------------------------------------------------------------------------------------// Method New(cUF) Class Sintegra Local aUrls Default cUF := "SP" aUrls := PegaUrls(cUF) If Len(aUrls) == 0 MsgStop("Não pude inicializar o Sintegra.","Estado "+cUF+" Inválido.") Retu(.T.) Endif ::cUrl := aUrls[1] ::cPost := ::cUrl+aUrls[2] ::cView := ::cUrl+aUrls[3] ::aGru1 := AClone(aUrls[4]) ::aGru2 := AClone(aUrls[5]) Return Self //----------------------------------------------------------------------------------------------------------------------// Method Consulta() Class Sintegra Local oDlg, oAct Local nTimer If IsInternet() == .F. MsgStop("Sem conexão com a internet !") Return {} Else ::Clear() EndIf ::cRetorno := "" ::lDownload := .F. ::lError := .F. Define Dialog oDlg From 0,0 To 600,664 Pixel Title "[ SiNtEgRa - Fazendo Consulta ]" //Style WS_CAPTION oDlg:lHelpIcon:=.F. Activate Dialog oDlg NoWait Centered oAct:=TActivex():New(oDlg,"Shell.Explorer",00,0,664,600) oAct:bOnEvent := {|cEv|If(cEv=="DownloadComplete",::DownloadComplete( oAct ),Nil)} oAct:Silent := .T. oAct:Navigate( ::cPost ) oAct:SetFocus() nTimer:=Seconds() While !::lDownload If !IsWindowVisible( oDlg:hWnd ) ::lDownload := .T. ::lError := .T. ::cError := "Consulta Cancelada !" ElseIf !IsInternet() ::lDownload := .T. ::lError := .T. ::cError := "Perda de conexao com a internet !" ElseIf( Seconds()-nTimer ) >= ::nTimeOut ::lDownload := .T. ::lError := .T. ::cError := "Tempo limit esgotado !" EndIf SysRefresh() End Try ::cRetorno := oAct:Document:Body:InnerHtml Catch oE ::lError := .T. ::cError := "Falha no recebimento dos dados!" End oDlg:End() SysRefresh() If ::lDownload .and. !::lError Return MontaSintegra( ::cRetorno, ::aGru1,::aGru2) Else MsgStop(::cError,"Atenção") EndIf Return {} //----------------------------------------------------------------------------------------------------------------------// Method DownloadComplete( oAct ) Class Sintegra Local cHTTP := oAct:LocationURL LoGFile('Sintegra.Txt',{cHttp}) If ( ::cView == cHTTP ) If At("IDENTIFICA",oAct:Document:Body:InnerHtml) != 0 oAct:oWnd:Hide() ::lDownload := .T. Endif ElseIf At( "não+foi+encontrado", cHTTP ) > 0 ::cError := "O CNPJ não foi encontrado na base do Sintegra." ::lError := .T. ::lDownload := .T. ElseIf At( "incorreto", cHTTP ) > 0 ::cError := "O CNPJ não é valido !" ::lError := .T. ::lDownload := .T. EndIf Return Nil //----------------------------------------------------------------------------------------------------------------------// EXIT PROCEDURE SAIR PostQuitMessage( 0 ) __Quit() Return Nil //----------------------------------------------------------------------------------------------------------------------// /********************************************************* * Função : MontaSintegra() - Função para pegar as informações do html * Data : Por : Alain/Rancharia * Revisado em : 26/07/2011 - 07:50:27 Por : Vagner Wirts * Parâmetros : * cSintegra - Texto do html * aGru1 - Array com início e fim do texto * aGru2 - Array com as variáveis para retirar do texto **********************************************************/ Static Function MontaSintegra( cSintegra ,aGru1,aGru2) Local cLine, nLine, nTotal Local aReto := {} Local cTexto Local nPos,nPo1 //Retira Comentários do html Do Whil (nPos := At("<!--",cSintegra)) > 0 nPo1 := At("-->",cSintegra) cTexto := SubStr(cSintegra,nPos,(nPo1-nPos)+3) cSintegra := StrTran(cSintegra,cTexto,"") Enddo cSintegra := StrTran(cSintegra,"INFORMAÇÕES COMPLEMENTARES") cSintegra := StrTran(cSintegra,"ENDEREÇO DA EMPRESA") cSintegra := StripHTML( cSintegra ) cSintegra := GroupBy(aGru1[1],aGru1[2],cSintegra,.F.,.F.) cSintegra := RemoveBlankLineNfe( cSintegra ) nTotal := MLCount( cSintegra) MemoWrit("Teste.Txt",cSintegra) For nLine := 1 To nTotal cLine := Alltrim(MemoLine(cSintegra,,nLine)) If AsCan(aGru2,cLine) != 0 cTexto := Alltrim(MemoLine(cSintegra,,++nLine)) If AsCan(aGru2,cTexto) != 0 //Caso não haja a informação cTexto := " " --nLine Endif If cTexto == "Data da Concessão da Inscrição:" //para o Caso do RJ cTexto := " " --nLine Endif If Left(cLine,10) == "Logradouro" //No Logradouro separa o tipo do endereco nPos := At(" ",cTexto) cNew := AllTrim(Left(cTexto,nPos)) AaDd(aReto,cNew) cTexto := AlLTrim(Right(cTexto,Len(cTexto)-nPos)) Endif AaDd(aReto,RemoveChar(cTexto,{[.],[-],[/],[:]})) Endif Next nLine Retu(aReto) //----------------------------------------------------------------------------------------------------------------------// Static Function StripHTML( cHtml ) Local cString:= RemoveChar( cHTML, {"&","amp;","nbsp;",'<!-- ',' -->','<--','-->','||','\/','<!--%','%-->',[/\]} ) Local aMatch := HB_RegExAll("\<[^\>]*\>", cString) Aeval(aMatch,{|a|cString:=StrTran(cString,a[1])} ) Return cString //----------------------------------------------------------------------------------------------------------------------// Static Function DelUrlCache( aUrl ) Return AEval( aUrl, {|nX,nNum| DeleteUrlCacheEntry( aUrl[nNum] )} ) //----------------------------------------------------------------------------------------------------------------------// Static Function DelFile( cFile ) If File(cFile); FErase(cFile); EndIf Return Nil //----------------------------------------------------------------------------------------------------------------------// Static Function RemoveChar(cString,aChar) Aeval(aChar,{|cChar|cString:=StrTran(cString,cChar)}) Return(cString) //----------------------------------------------------------------------------------------------------------------------// Static Function GroupBy( cStart, cEnd, cString, lTags, lBreak ) Local nBegin, nEnd Local cFound, nAT Default lTags:=.F., lBreak:=.F. nBegin := At( cStart, cString ) If(nBegin == 0 ) ; Return "" ; EndIf If(lTags == .F.) ; nBegin += Len(cStart) ; EndIf If( cEnd != Nil ) nEnd := At( cEnd, cString, nBegin ) If nEnd == 0 Return "" Else nEnd := nEnd - nBegin EndIf If( lTags ) nEnd += Len( cEnd ) EndIf Else If lBreak nAt := At(CRLF,Substr(cString,nBegin,Len(cString))) If nAt > 0 nEnd := nAt - 1 If nEnd < Len(cString) ; nEnd := Len(cString)+1 ; Endif Else nEnd := Len( cString ) EndIf Else nEnd := Len( cString ) EndIf EndIf cFound := Substr( cString, nBegin, nEnd ) If lBreak If lTags cFound:=StrTran(cFound,CRLF) Else If cEnd != Nil nAt := At(CRLF,cFound) If nAt > 0 cFound := Left(cFound,nAT) EndIf Endif EndIf EndIf Return cFound //----------------------------------------------------------------------------------------------------------------------// Static Function RemoveBlankLineNfe( cTexto ) Local cTextoNew:="" Local nLines, cLine, nNum nLines := MLCount( cTexto, 400) For nNum := 0 To nLines cLine := Alltrim(MemoLine( cTexto, 400, nNum )) If !Empty(cLine) If cLine == "function ocultarExibir(idDaTabela)" nNum+=14 Loop EndIf if cLine<>"Ativo".and.cLine<>"Baixado".and.cLine<>"Inativo" cTextoNew += cLine + If (nNum<nLines,CRLF,"") endif EndIf Next nNum Return cTextoNew //----------------------------------------------------------------------------------------------------------------------// /********************************************************* * Função : PegaUrls() - Função para pegar as urls dos estados e também a configuração do itens para para localizar * Data : 25/07/2011 - 11:42:49 Por : Vagner * Revisado em : 25/07/2011 - 11:42:51 Por : Vagner * Parâmetros : * cUF - Unidade da Federação * Comentários : * Nem todos os campos do html são iguais então foi colocado em forma de array para melhor identificar **********************************************************/ Static Func PegaUrls(cUF) Local aRet := {} If cUF == "AC" ElseIf cUF == "AL" ElseIf cUF == "AM" ElseIf cUF == "AP" ElseIf cUF == "BA" aRet := {"http://www.sefaz.ba.gov.br/Sintegra/",; "sintegra.asp?estado=BA",; "Result.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados em"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Atual:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; } ElseIf cUF == "CE" aRet := {"http://www.sefaz.ce.gov.br/content/aplicacao/internet/servicos_online/sintegra/",; "sintegra.asp?estado=ce",; "result.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados em"},; {"CNPJ:",; "Inscrição Estadual:",; "RazãoSocial:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "CNAE Fiscal Primário:",; "Situação Cadastral Vigente:",; "Data da Situação Cadastral:",; "Regime de Recolhimento:" ; } ; } ElseIf cUF == "DF" ElseIf cUF == "ES" aRet := {"http://www.sintegra.es.gov.br/",; "",; "resultado.php",; {"IDENTIFICAÇÃO","Os dados acima são baseados em"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social :",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data da Situação Cadastral:",; "Regime de Apuração:" ; } ; } ElseIf cUF == "FN" ElseIf cUF == "GO" aRet := {"http://www.sefaz.go.gov.br/sintegra/ConsultaCadastro/",; "",; "consulta.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados em"},; {"CGC/CNPJ:",; "Inscrição Estadual - CCE :",; "Nome / Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data da Situação Cadastral:",; "Regime de Apuração:" ; } ; } //http://www.sefaz.go.gov.br/sintegra/ConsultaCadastro/ //http://www.sefaz.go.gov.br/sintegra/ConsultaCadastro/consulta.asp ElseIf cUF == "MA" aRet := {"http://www.sefaz.ma.gov.br/sintegra/",; "sintegra.asp",; "result.asp",; {"IDENTIFICAÇÃO","Os dados acima estão baseados em"},; {"CGC/CNPJ:",; "Inscrição Estadual:",; "RazãoSocial:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "CNAE Principal:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; } //25/07/2011 16:47:39: http://www.sefaz.ma.gov.br/sintegra/sintegra.asp //25/07/2011 16:48:16: http://www.sefaz.ma.gov.br/sintegra/result_lista_ruc.asp //25/07/2011 16:49:36: http://www.sefaz.ma.gov.br/sintegra/result.asp?IE=12147386 ElseIf cUF == "MG" aRet := {"http://www.sintegra.fazenda.mg.gov.br/",; "consulta_empresa_pesquisa.asp",; "consulta_empresa_principal.asp",; {"IDENTIFICAÇÃO","Os dados acima estão baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; } //http://www.sintegra.fazenda.mg.gov.br/consulta_empresa_pesquisa.asp //http://www.sintegra.fazenda.mg.gov.br/consulta_empresa_inscricoes.asp //http://www.sintegra.fazenda.mg.gov.br/consulta_empresa_principal.asp ElseIf cUF == "MS" aRet := {"http://www1.sefaz.ms.gov.br/Cadastro/sintegra/",; "cadastromsCCI.asp",; "ResultadoCCI.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "RazãoSocial/Nome:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "AtividadeEconômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; } ElseIf cUF == "MT" ElseIf cUF == "PA" aRet := {"http://www1.sefaz.ms.gov.br/Cadastro/sintegra/",; "cadastromsCCI.asp",; "ResultadoCCI.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Atual:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; } //https://app.sefa.pa.gov.br/Sintegra/detalharEstabelecimento.do?id=152077090 //152077090=Inscrição estadual //https://app.sefa.pa.gov.br/Sintegra/ //https://app.sefa.pa.gov.br/Sintegra/detalharEstabelecimento.do;jsessionid=fb69c7d0116ba787401876810876ed709ff929358f4cc50c9928e182e83f36c2.e3uKbhyPbhf0bhyNe0?id=152914692 ElseIf cUF == "PB" ElseIf cUF == "PE" ElseIf cUF == "PI" ElseIf cUF == "PR" aRet := {"http://www.sintegra.fazenda.pr.gov.br/",; "sintegra/",; "sintegra/",; {"IDENTIFICAÇÃO","Os dados acima são baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Nome Empresarial:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica Principal:",; "Situação Atual:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; } ElseIf cUF == "RJ" aRet := {"http://www.fazenda.rj.gov.br/projetoCPS/",; "consulta.jsp;jsessionid=RqRCTtJRZc6Tt0LhXgZnKh1jt8JQLx1Lk2J8HJ7xKqJpGvhQ0W4q!-1007206184",; "cpsServlet",; {"IDENTIFICAÇÃO","Data da Consulta:"},; {"CNPJ:",; "Inscrição Estadual:",; "RazãoSocial:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "AtividadeEconômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; } ElseIf cUF == "RN" aRet := {"http://www.sintegra.fazenda.pr.gov.br/",; "sintegra/",; "sintegra/",; {"IDENTIFICAÇÃO","Os dados acima são baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "CNAE Fiscal Primário:",; "Situação Cadastral Atual:",; "Data da Situação Cadastral:",; "Regime de Pagamento:" ; } ; } //http://www.set.rn.gov.br/sintegra/default.asp //http://www.set.rn.gov.br/sintegra/cnpj.asp?cnpj=03766900000132 //<td bgcolor="#FAFAE4" align="center" ><div align="left"><a href="result.asp?ie=085197"> Encontrar o IE //http://www.set.rn.gov.br/sintegra/result.asp?ie=085197 ElseIf cUF == "RO" aRet := {"http://portal.intranet.sefin.ro.gov.br/PortalContribuinte/",; "parametropublica.jsp",; "consultapublica.jsp",; {"IDENTIFICA",Nil},; {"C.P.F/C.N.P.J:",; "Inscrição Estadual:",; "Razão Social:",; "Endereço:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Regime de Pagamento:",; "Situação Cadastral Vigente:",; "Data:",; "Regime de Apuração de ICMS:" ; } ; } ElseIf cUF == "RR" ElseIf cUF == "RS" ElseIf cUF == "SC" aRet := {"http://sistemas3.sef.sc.gov.br/sintegra/",; "consulta_empresa_pesquisa.aspx",; "consulta_empresa_pesquisa.aspx",; {"IDENTIFICAÇÃO","Os dados acima estão baseados em informações"},; {"CPF/CNPJ:",; "Inscrição Estadual:",; "Nome/Razão Estadual:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "CNAE-Fiscal Principal:",; "Situação Cadastral Atual:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; } ElseIf cUF == "SE" ElseIf cUF == "SP" aRet := {"http://pfeserv1.fazenda.sp.gov.br/sintegrapfe/",; "consultaSintegraServlet",; "sintegra",; {"IDENTIFICAÇÃO","Os dados acima estão baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; } ElseIf cUF == "TO" Endif Retu(aRet) STATIC Function DeleteUrlCacheEntry() Return nil //----------------------------------------------------------------------------------------------------------------------// //DLL Static Function DeleteUrlCacheEntry(lpszUrlName AS STRING) AS LONG PASCAL FROM "DeleteUrlCacheEntryA" LIB "wininet.dll" Quote Link to comment Share on other sites More sharing options...
emotta Posted November 27, 2013 Report Share Posted November 27, 2013 Kapiaba, como faz pra postar codigo aqui do jeito que voce postou, pra ficar tudo identado? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 27, 2013 Report Share Posted November 27, 2013 Mandei mensagem em private, pois se posto aqui identa. Tens skype? abs, Quote Link to comment Share on other sites More sharing options...
emotta Posted November 27, 2013 Report Share Posted November 27, 2013 kapiaba, nao precisava, pq o que voce postou eu copiei certinho.... mas veja que o que voce postou ficou certinho, ja meu codigo qdo postei ficou tudo fora...................... abraços Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 27, 2013 Report Share Posted November 27, 2013 as tags estão incorretas, ponha code... /code entre [...] [/...] o code é minusculo no inicio e no fim do modulo. Quote Link to comment Share on other sites More sharing options...
emotta Posted November 27, 2013 Report Share Posted November 27, 2013 [/code] #Include "Fivewin.ch"Function Teste()Local oSintegra := GetSintegra("SP")aRet := oSintegra:Consulta( )msgstop(sr_showvector(aRet))ReturnFunction GetSintegra(cUF); Retu( Sintegra():New(cUF))/********************************************************* * Função : PegaSintegra() - Função para pegar os dados através de um html em disco * Data : 26/07/2011 - 09:19:59 Por : Vagner * Revisado em : 26/07/2011 - 09:20:02 Por : Vagner * Parâmetros : * cHtml - Arquivo Html * Comentários : * Entrar na página e copiar o código fonte da página**********************************************************/ Function PegaSintegra(cHtml) ; Retu (MontaSintegra(cHtml))//----------------------------------------------------------------------------------------------------------------------//Class Sintegra Data nTimeOut Init 240 // 4 minutos Data lDownload, lError, cError Data cRetorno Data aGru1,aGru2 Data cUrl,cPost,cView Method New(cUF) Constructor Method Consulta( cCGCorIE ) Method DownloadComplete( oAct ) Method Clear() INLINE DelUrlCache({::cPost,::cView})EndClass//----------------------------------------------------------------------------------------------------------------------//Method New(cUF) Class SintegraLocal aUrlsDefault cUF := "SP"aUrls := PegaUrls(cUF)If Len(aUrls) == 0 MsgStop("Não pude inicializar o Sintegra.","Estado "+cUF+" Inválido.") Retu(.T.)Endif::cUrl := aUrls[1]::cPost := ::cUrl+aUrls[2]::cView := ::cUrl+aUrls[3]::aGru1 := AClone(aUrls[4])::aGru2 := AClone(aUrls[5])Return Self//----------------------------------------------------------------------------------------------------------------------//Method Consulta() Class SintegraLocal oDlg, oActLocal nTimerIf IsInternet() == .F. MsgStop("Sem conexão com a internet !") Return {} Else ::Clear() EndIf::cRetorno := ""::lDownload := .F.::lError := .F.Define Dialog oDlg From 0,0 To 600,664 Pixel Title "[ SiNtEgRa - Fazendo Consulta ]" //Style WS_CAPTIONoDlg:lHelpIcon:=.F.Activate Dialog oDlg NoWait CenteredoAct:=TActivex():New(oDlg,"Shell.Explorer",00,0,664,600)oAct:bOnEvent := {|cEv|If(cEv=="DownloadComplete",::DownloadComplete( oAct ),Nil)}oAct:Silent := .T. oAct:Navigate( ::cPost )oAct:SetFocus()nTimer:=Seconds()While !::lDownload If !IsWindowVisible( oDlg:hWnd ) ::lDownload := .T. ::lError := .T. ::cError := "Consulta Cancelada !" ElseIf !IsInternet() ::lDownload := .T. ::lError := .T. ::cError := "Perda de conexao com a internet !" ElseIf( Seconds()-nTimer ) >= ::nTimeOut ::lDownload := .T. ::lError := .T. ::cError := "Tempo limit esgotado !" EndIf SysRefresh()EndTry ::cRetorno := oAct:Document:Body:InnerHtmlCatch oE ::lError := .T. ::cError := "Falha no recebimento dos dados!"EndoDlg:End()SysRefresh()If ::lDownload .and. !::lError Return MontaSintegra( ::cRetorno, ::aGru1,::aGru2)Else MsgStop(::cError,"Atenção")EndIfReturn {}//----------------------------------------------------------------------------------------------------------------------//Method DownloadComplete( oAct ) Class SintegraLocal cHTTP := oAct:LocationURLLoGFile('Sintegra.Txt',{cHttp})If ( ::cView == cHTTP ) If At("IDENTIFICA",oAct:Document:Body:InnerHtml) != 0 oAct:oWnd:Hide() ::lDownload := .T. EndifElseIf At( "não+foi+encontrado", cHTTP ) > 0 ::cError := "O CNPJ não foi encontrado na base do Sintegra." ::lError := .T. ::lDownload := .T.ElseIf At( "incorreto", cHTTP ) > 0 ::cError := "O CNPJ não é valido !" ::lError := .T. ::lDownload := .T.EndIf Return Nil//----------------------------------------------------------------------------------------------------------------------//EXIT PROCEDURE SAIR PostQuitMessage( 0 ) __Quit()Return Nil//----------------------------------------------------------------------------------------------------------------------///********************************************************* * Função : MontaSintegra() - Função para pegar as informações do html * Data : Por : Alain/Rancharia * Revisado em : 26/07/2011 - 07:50:27 Por : Vagner Wirts * Parâmetros : * cSintegra - Texto do html * aGru1 - Array com início e fim do texto * aGru2 - Array com as variáveis para retirar do texto**********************************************************/ Static Function MontaSintegra( cSintegra ,aGru1,aGru2)Local cLine, nLine, nTotalLocal aReto := {}Local cTextoLocal nPos,nPo1//Retira Comentários do htmlDo Whil (nPos := At("<!--",cSintegra)) > 0 nPo1 := At("-->",cSintegra) cTexto := SubStr(cSintegra,nPos,(nPo1-nPos)+3) cSintegra := StrTran(cSintegra,cTexto,"")EnddocSintegra := StrTran(cSintegra,"INFORMAÇÕES COMPLEMENTARES")cSintegra := StrTran(cSintegra,"ENDEREÇO DA EMPRESA")cSintegra := StripHTML( cSintegra )cSintegra := GroupBy(aGru1[1],aGru1[2],cSintegra,.F.,.F.)cSintegra := RemoveBlankLineNfe( cSintegra )nTotal := MLCount( cSintegra)MemoWrit("Teste.Txt",cSintegra)For nLine := 1 To nTotal cLine := Alltrim(MemoLine(cSintegra,,nLine)) If AsCan(aGru2,cLine) != 0 cTexto := Alltrim(MemoLine(cSintegra,,++nLine)) If AsCan(aGru2,cTexto) != 0 //Caso não haja a informação cTexto := " " --nLine Endif If cTexto == "Data da Concessão da Inscrição:" //para o Caso do RJ cTexto := " " --nLine Endif If Left(cLine,10) == "Logradouro" //No Logradouro separa o tipo do endereco nPos := At(" ",cTexto) cNew := AllTrim(Left(cTexto,nPos)) AaDd(aReto,cNew) cTexto := AlLTrim(Right(cTexto,Len(cTexto)-nPos)) Endif AaDd(aReto,RemoveChar(cTexto,{[.],[-],[/],[:]})) EndifNext nLineRetu(aReto)//----------------------------------------------------------------------------------------------------------------------//Static Function StripHTML( cHtml )Local cString:= RemoveChar( cHTML, {"&","amp;","nbsp;",'<!-- ',' -->','<--','-->','||','\/','<!--%','%-->',[/\]} )Local aMatch := HB_RegExAll("\<[^\>]*\>", cString)Aeval(aMatch,{|a|cString:=StrTran(cString,a[1])} )Return cString//----------------------------------------------------------------------------------------------------------------------//Static Function DelUrlCache( aUrl )Return AEval( aUrl, {|nX,nNum| DeleteUrlCacheEntry( aUrl[nNum] )} )//----------------------------------------------------------------------------------------------------------------------//Static Function DelFile( cFile )If File(cFile); FErase(cFile); EndIfReturn Nil//----------------------------------------------------------------------------------------------------------------------//Static Function RemoveChar(cString,aChar)Aeval(aChar,{|cChar|cString:=StrTran(cString,cChar)})Return(cString)//----------------------------------------------------------------------------------------------------------------------//Static Function GroupBy( cStart, cEnd, cString, lTags, lBreak )Local nBegin, nEndLocal cFound, nATDefault lTags:=.F., lBreak:=.F.nBegin := At( cStart, cString )If(nBegin == 0 ) ; Return "" ; EndIfIf(lTags == .F.) ; nBegin += Len(cStart) ; EndIfIf( cEnd != Nil ) nEnd := At( cEnd, cString, nBegin ) If nEnd == 0 Return "" Else nEnd := nEnd - nBegin EndIf If( lTags ) nEnd += Len( cEnd ) EndIfElse If lBreak nAt := At(CRLF,Substr(cString,nBegin,Len(cString))) If nAt > 0 nEnd := nAt - 1 If nEnd < Len(cString) ; nEnd := Len(cString)+1 ; Endif Else nEnd := Len( cString ) EndIf Else nEnd := Len( cString ) EndIfEndIfcFound := Substr( cString, nBegin, nEnd )If lBreak If lTags cFound:=StrTran(cFound,CRLF) Else If cEnd != Nil nAt := At(CRLF,cFound) If nAt > 0 cFound := Left(cFound,nAT) EndIf Endif EndIfEndIfReturn cFound//----------------------------------------------------------------------------------------------------------------------//Static Function RemoveBlankLineNfe( cTexto )Local cTextoNew:=""Local nLines, cLine, nNumnLines := MLCount( cTexto, 400)For nNum := 0 To nLines cLine := Alltrim(MemoLine( cTexto, 400, nNum )) If !Empty(cLine) If cLine == "function ocultarExibir(idDaTabela)" nNum+=14 Loop EndIf if cLine<>"Ativo".and.cLine<>"Baixado".and.cLine<>"Inativo" cTextoNew += cLine + If (nNum<nLines,CRLF,"") endif EndIf Next nNumReturn cTextoNew//----------------------------------------------------------------------------------------------------------------------///********************************************************* * Função : PegaUrls() - Função para pegar as urls dos estados e também a configuração do itens para para localizar * Data : 25/07/2011 - 11:42:49 Por : Vagner * Revisado em : 25/07/2011 - 11:42:51 Por : Vagner * Parâmetros : * cUF - Unidade da Federação * Comentários : * Nem todos os campos do html são iguais então foi colocado em forma de array para melhor identificar**********************************************************/ Static Func PegaUrls(cUF)Local aRet := {}If cUF == "AC"ElseIf cUF == "AL"ElseIf cUF == "AM"ElseIf cUF == "AP"ElseIf cUF == "BA" aRet := {"http://www.sefaz.ba.gov.br/Sintegra/",; "sintegra.asp?estado=BA",; "Result.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados em"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Atual:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; }ElseIf cUF == "CE" aRet := {"http://www.sefaz.ce.gov.br/content/aplicacao/internet/servicos_online/sintegra/",; "sintegra.asp?estado=ce",; "result.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados em"},; {"CNPJ:",; "Inscrição Estadual:",; "RazãoSocial:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "CNAE Fiscal Primário:",; "Situação Cadastral Vigente:",; "Data da Situação Cadastral:",; "Regime de Recolhimento:" ; } ; }ElseIf cUF == "DF"ElseIf cUF == "ES" aRet := {"http://www.sintegra.es.gov.br/",; "",; "resultado.php",; {"IDENTIFICAÇÃO","Os dados acima são baseados em"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social :",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data da Situação Cadastral:",; "Regime de Apuração:" ; } ; }ElseIf cUF == "FN"ElseIf cUF == "GO" aRet := {"http://www.sefaz.go.gov.br/sintegra/ConsultaCadastro/",; "",; "consulta.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados em"},; {"CGC/CNPJ:",; "Inscrição Estadual - CCE :",; "Nome / Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data da Situação Cadastral:",; "Regime de Apuração:" ; } ; }//http://www.sefaz.go.gov.br/sintegra/ConsultaCadastro///http://www.sefaz.go.gov.br/sintegra/ConsultaCadastro/consulta.aspElseIf cUF == "MA" aRet := {"http://www.sefaz.ma.gov.br/sintegra/",; "sintegra.asp",; "result.asp",; {"IDENTIFICAÇÃO","Os dados acima estão baseados em"},; {"CGC/CNPJ:",; "Inscrição Estadual:",; "RazãoSocial:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "CNAE Principal:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; }//25/07/2011 16:47:39: http://www.sefaz.ma.gov.br/sintegra/sintegra.asp //25/07/2011 16:48:16: http://www.sefaz.ma.gov.br/sintegra/result_lista_ruc.asp //25/07/2011 16:49:36: http://www.sefaz.ma.gov.br/sintegra/result.asp?IE=12147386 ElseIf cUF == "MG" aRet := {"http://www.sintegra.fazenda.mg.gov.br/",; "consulta_empresa_pesquisa.asp",; "consulta_empresa_principal.asp",; {"IDENTIFICAÇÃO","Os dados acima estão baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; }//http://www.sintegra.fazenda.mg.gov.br/consulta_empresa_pesquisa.asp//http://www.sintegra.fazenda.mg.gov.br/consulta_empresa_inscricoes.asp//http://www.sintegra.fazenda.mg.gov.br/consulta_empresa_principal.aspElseIf cUF == "MS" aRet := {"http://www1.sefaz.ms.gov.br/Cadastro/sintegra/",; "cadastromsCCI.asp",; "ResultadoCCI.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "RazãoSocial/Nome:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "AtividadeEconômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; }ElseIf cUF == "MT"ElseIf cUF == "PA" aRet := {"http://www1.sefaz.ms.gov.br/Cadastro/sintegra/",; "cadastromsCCI.asp",; "ResultadoCCI.asp",; {"IDENTIFICAÇÃO","Os dados acima são baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Atual:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; }//https://app.sefa.pa.gov.br/Sintegra/detalharEstabelecimento.do?id=152077090 //152077090=Inscrição estadual//https://app.sefa.pa.gov.br/Sintegra///https://app.sefa.pa.gov.br/Sintegra/detalharEstabelecimento.do;jsessionid=fb69c7d0116ba787401876810876ed709ff929358f4cc50c9928e182e83f36c2.e3uKbhyPbhf0bhyNe0?id=152914692ElseIf cUF == "PB"ElseIf cUF == "PE"ElseIf cUF == "PI"ElseIf cUF == "PR" aRet := {"http://www.sintegra.fazenda.pr.gov.br/",; "sintegra/",; "sintegra/",; {"IDENTIFICAÇÃO","Os dados acima são baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Nome Empresarial:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica Principal:",; "Situação Atual:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; }ElseIf cUF == "RJ" aRet := {"http://www.fazenda.rj.gov.br/projetoCPS/",; "consulta.jsp;jsessionid=RqRCTtJRZc6Tt0LhXgZnKh1jt8JQLx1Lk2J8HJ7xKqJpGvhQ0W4q!-1007206184",; "cpsServlet",; {"IDENTIFICAÇÃO","Data da Consulta:"},; {"CNPJ:",; "Inscrição Estadual:",; "RazãoSocial:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "AtividadeEconômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; }ElseIf cUF == "RN" aRet := {"http://www.sintegra.fazenda.pr.gov.br/",; "sintegra/",; "sintegra/",; {"IDENTIFICAÇÃO","Os dados acima são baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "CNAE Fiscal Primário:",; "Situação Cadastral Atual:",; "Data da Situação Cadastral:",; "Regime de Pagamento:" ; } ; }//http://www.set.rn.gov.br/sintegra/default.asp//http://www.set.rn.gov.br/sintegra/cnpj.asp?cnpj=03766900000132//<td bgcolor="#FAFAE4" align="center" ><div align="left"><a href="result.asp?ie=085197"> Encontrar o IE//http://www.set.rn.gov.br/sintegra/result.asp?ie=085197ElseIf cUF == "RO" aRet := {"http://portal.intranet.sefin.ro.gov.br/PortalContribuinte/",; "parametropublica.jsp",; "consultapublica.jsp",; {"IDENTIFICA",Nil},; {"C.P.F/C.N.P.J:",; "Inscrição Estadual:",; "Razão Social:",; "Endereço:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Regime de Pagamento:",; "Situação Cadastral Vigente:",; "Data:",; "Regime de Apuração de ICMS:" ; } ; }ElseIf cUF == "RR"ElseIf cUF == "RS"ElseIf cUF == "SC" aRet := {"http://sistemas3.sef.sc.gov.br/sintegra/",; "consulta_empresa_pesquisa.aspx",; "consulta_empresa_pesquisa.aspx",; {"IDENTIFICAÇÃO","Os dados acima estão baseados em informações"},; {"CPF/CNPJ:",; "Inscrição Estadual:",; "Nome/Razão Estadual:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "UF:",; "Município:",; "CEP:",; "Telefone:",; "CNAE-Fiscal Principal:",; "Situação Cadastral Atual:",; "Data desta Situação Cadastral:",; "Regime de Apuração de ICMS:" ; } ; }ElseIf cUF == "SE"ElseIf cUF == "SP" aRet := {"http://pfeserv1.fazenda.sp.gov.br/sintegrapfe/",; "consultaSintegraServlet",; "sintegra",; {"IDENTIFICAÇÃO","Os dados acima estão baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; }ElseIf cUF == "TO"EndifRetu(aRet)STATIC Function DeleteUrlCacheEntry()Return nil//----------------------------------------------------------------------------------------------------------------------////DLL Static Function DeleteUrlCacheEntry(lpszUrlName AS STRING) AS LONG PASCAL FROM "DeleteUrlCacheEntryA" LIB "wininet.dll" [/code/] Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 27, 2013 Report Share Posted November 27, 2013 Eduardo: entre [ ] ponha assim: [codigo] programa [/codigo] // troque codigo por code em ingles. Quote Link to comment Share on other sites More sharing options...
HERGON Posted November 27, 2013 Author Report Share Posted November 27, 2013 Boa tarde Eduardo Consegui consultar CNPJ de SP e pegar os dados, mas quando tento para MG (que é o que mais me interessa) não abre a página diretamente, mas tudo bem, na página que abre eu clico no link SINTEGRA, abre a página oficial do SINTEGRA, clico no estado MG, e na nova página que abre entro com o CNPJ e CAPTCHA e aparecem os dados. O problema é que estes dados não retornam para o sistema, teria como você testar se ai acontece da mesma forma? PS: no comando abaixo não tenho sr_showvector() teria como postar a função? msgstop(sr_showvector(aRet)) Herberson Gontijo Ponteware Informática Ltda. Quote Link to comment Share on other sites More sharing options...
Theotokos Posted November 27, 2013 Report Share Posted November 27, 2013 Boa tarde Eduardo Consegui consultar CNPJ de SP e pegar os dados, mas quando tento para MG (que é o que mais me interessa) não abre a página diretamente, mas tudo bem, na página que abre eu clico no link SINTEGRA, abre a página oficial do SINTEGRA, clico no estado MG, e na nova página que abre entro com o CNPJ e CAPTCHA e aparecem os dados. O problema é que estes dados não retornam para o sistema, teria como você testar se ai acontece da mesma forma? PS: no comando abaixo não tenho sr_showvector() teria como postar a função? msgstop(sr_showvector(aRet)) Herberson Gontijo Ponteware Informática Ltda. eu também tentei para MG, no meu caso nem abre a página... Quote Link to comment Share on other sites More sharing options...
vagner Posted November 27, 2013 Report Share Posted November 27, 2013 Olá, Houveram mudanças nos links, precisam ser atualizados, o de minas é : http://consultasintegra.fazenda.mg.gov.br/sintegra/ "http://sefaznet.ac.gov.br/sefazonline/servlet/hpfsincon" >Acre<"http://www.sefaz.al.gov.br/asp/sintegra/sintegra.asp?estado=AL" >Alagoas<"http://www.sintegra.ap.gov.br/" >Amapá<"http://www.sefaz.am.gov.br/sintegra/sintegra0.asp" >Amazonas<"http://www.sefaz.ba.gov.br/Sintegra/sintegra.asp?estado=BA" >Bahia<"http://www.sefaz.ce.gov.br/Sintegra/Sintegra.Asp?estado=CE" >Ceará<"http://www.fazenda.df.gov.br/area.cfm?id_area=110" >Distrito Federal<"http://www.sintegra.es.gov.br/" >Espírito Santo<"http://www.sefaz.go.gov.br/sintegra/sintegra.asp" >Goiás<"http://www.sefaz.ma.gov.br/sintegra/sintegra.asp" >Maranhão<"http://www.sefaz.mt.gov.br/sid/consulta/infocadastral/consultar/publica" >Mato Grosso<"http://www1.sefaz.ms.gov.br/Cadastro/sintegra/cadastromsCCI.asp" >Mato Grosso do Sul<"http://consultasintegra.fazenda.mg.gov.br" >Minas Gerais<"http://app.sefa.pa.gov.br/Sintegra/" >Pará<"http://sintegra.receita.pb.gov.br/sintegra/sintegra.asp?estado=pb" >Paraíba<"http://www.sintegra.fazenda.pr.gov.br/sintegra/" >Paraná<"http://www.sintegra.sefaz.pe.gov.br" >Pernambuco<"http://web.sintegra.sefaz.pi.gov.br" >Piauí<"http://www.fazenda.rj.gov.br/projetoCPS" >Rio de Janeiro<"http://www.set.rn.gov.br/uvt/consultacontribuinte.aspx" >Rio Grande do Norte<"http://sintegra.sefaz.rs.gov.br/sef_root/inf/Sintegra_Entrada.asp" >Rio Grande do Sul<"http://www.sefin.ro.gov.br/sint_consul.asp" target="main" >Rondônia<"http://portalapp.sefaz.rr.gov.br/sintegra/servlet/hwsintco" >Roraima<"http://sistemas.sef.sc.gov.br/sintegra" >Santa Catarina<"http://pfeserv1.fazenda.sp.gov.br/sintegrapfe/consultaSintegraServlet" >São Paulo<"http://www.sefaz.se.gov.br/sintegra" target="main" >Sergipe<"http://sintegra.sefaz.to.gov.br" >Tocantins<"http://www.suframa.gov.br/sintegra" >Suframa< Quote Link to comment Share on other sites More sharing options...
Theotokos Posted November 27, 2013 Report Share Posted November 27, 2013 mesmo assim não retorna informação... ElseIf cUF == "MG" aRet := {"http://consultasintegra.fazenda.mg.gov.br/sintegra/",; "",; // "consulta_empresa_pesquisa.asp",; "",; // "consulta_empresa_principal.asp",; {"IDENTIFICAÇÃO","Os dados acima estão baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; } Quote Link to comment Share on other sites More sharing options...
emotta Posted November 28, 2013 Report Share Posted November 28, 2013 SR_SHOWVECTOR faz parte da LIB SQLRDD entao nao tem como te enviar, mas serve apenas para listar o array em texto. Eu uso muito para ver o conteudo do array de forma simples, voce pode fazer uma especifica para o seu caso. Sobre MG como não é minha prioridade isso nao será um problema pra mim mas vou atualizar os links e buscar o CNPJ de alguem de lá e aviso. abraços Boa tarde Eduardo Consegui consultar CNPJ de SP e pegar os dados, mas quando tento para MG (que é o que mais me interessa) não abre a página diretamente, mas tudo bem, na página que abre eu clico no link SINTEGRA, abre a página oficial do SINTEGRA, clico no estado MG, e na nova página que abre entro com o CNPJ e CAPTCHA e aparecem os dados. O problema é que estes dados não retornam para o sistema, teria como você testar se ai acontece da mesma forma? PS: no comando abaixo não tenho sr_showvector() teria como postar a função? msgstop(sr_showvector(aRet)) Herberson Gontijo Ponteware Informática Ltda. Quote Link to comment Share on other sites More sharing options...
vagner Posted November 28, 2013 Report Share Posted November 28, 2013 mesmo assim não retorna informação... ElseIf cUF == "MG" aRet := {"http://consultasintegra.fazenda.mg.gov.br/sintegra/",; "",; // "consulta_empresa_pesquisa.asp",; "",; // "consulta_empresa_principal.asp",; {"IDENTIFICAÇÃO","Os dados acima estão baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; } Como dito antes, vc precisa alterar os dados, que provavelmente mudaram também em relação a página para isso basta vc entrar na página e com o botão direito clicar em exibir código fonte, trocar o que vc precisa e testar novamente Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 28, 2013 Report Share Posted November 28, 2013 mesmo assim não retorna informação... ElseIf cUF == "MG" aRet := {"http://consultasintegra.fazenda.mg.gov.br/sintegra/",; "",; // "consulta_empresa_pesquisa.asp",; "",; // "consulta_empresa_principal.asp",; {"IDENTIFICAÇÃO","Os dados acima estão baseados"},; {"CNPJ:",; "Inscrição Estadual:",; "Razão Social:",; "Logradouro:",; "Número:",; "Complemento:",; "Bairro:",; "Município:",; "UF:",; "CEP:",; "Telefone:",; "Atividade Econômica:",; "Situação Cadastral Vigente:",; "Data desta Situação Cadastral:",; "Regime de Apuração:" ; } ; } Como dito antes, vc precisa alterar os dados, que provavelmente mudaram também em relação a página para isso basta vc entrar na página e com o botão direito clicar em exibir código fonte, trocar o que vc precisa e testar novamente Vagner, tem que pegar o que daqui? Não entendi nada... view-source:http://consultasintegra.fazenda.mg.gov.br/sintegra/ Obg. Abs. Quote Link to comment Share on other sites More sharing options...
SAOliveira Posted November 28, 2013 Report Share Posted November 28, 2013 Hergon: No lugar de SR_ShowVector(aRet) use xBrowse(aAret) Quote Link to comment Share on other sites More sharing options...
HERGON Posted November 28, 2013 Author Report Share Posted November 28, 2013 Bom dia Com as modificações do link de MG funcionou, abre a página para entrar com o CNPJ e CAPTCHA e mostra os dados na tela, o problema agora é que após feita a consulta a página não fecha automáticamente como nas outras consultas de UF, com isso os dados não são recuperados. Isso tb está acontecendo com BA e GO (ainda não testei todas UF's). Sabe como resolver isso? Herberson Gontijo Ponteware Software Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.