Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dataset

Puxar os dados da Receita (CNPJ)

Recommended Posts

Olá pessoal...

 

Tenho um form para cadastro de Pessoa Jurídica. Estou pensando em facilitar o cadastro assim:

 

No meu FORM o usuário digita o CNPJ e clica no botão PESQUISAR, dai abro num modal (jQuery) essa página passando de parâmetro o CNPJ assim:

http://www.receita.fazenda.gov.br/pessoajuridica/cnpj/cnpjreva/cnpjreva_solicitacao2.asp?cnpj=07699301000102

Daí o modal fecha e carrega os dados do Cartão CNPJ no meu FORM, evitando que o usuário digite todos os dados.

 

Como eu posso fazer esse tipo de coisa ?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá dataset, blza!

 

Acredito que esse link deva ajudar.

 

http://www.oficinadanet.com.br/artigo/217/atualizando_a_janela_pai

 

De qualquer forma, poderá pesquisar mais sobre:

 

"fechar modal e atualizar pagina pai"

 

Poderá encontrar vários exemplos.

 

Poderá tb usar exemplos com Ajax, Jquery que tb irá fazer essa função.

 

Espero ter ajudado,

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá wilnet, não é bem isso que eu preciso.

 

Eu preciso pegar os dados que estão em uma página e alimentar meus inputs. Ex:

 

Tenho um form de cadastro de Pessoa Jurídica, então pra não digitar todos os inputs eu chamo uma página que já tem essas informações.

 

O código vai ler os dados desse site e preencher o meu form. Pra que digitar todo o form se dá pra buscar esses dados.

 

Daí só clico em salvar e pronto.

 

Você me entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi.

Para fazer isso vc precisa de uma base que permita você puxar tais dados dela, geralmente usa-se XML para se comunicar entre servidores. O site cujo você irá puxar os dados precisa permitir essa comunicação entre servidores para funcionar.

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode-se fazer com XML se for usar um webservice, ou atribuindo esses valores em txt para uma variavel ou até mesmo pegando do bd. tem alguns exemplos que postei dá uma olhada pode te ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum...

 

Você conhece o comando file_get_contents do PHP ?

<?php
 // Endereço do site
 $url = 'http://www.site_alvo_aqui.com.br';

 // Pegando dados do Site e colocando em uma String
 $dadosSite = file_get_contents($url);

 // Exibindo o retorno
 echo $dadosSite;
?>

Então, eu queria usar algo nesse sentido em ASP, pra puxar o texto de um site. Quem sabe até usar a função text() do jQuery.

 

A ideia:

 

O usuário digita o CNPJ no meu form e eu busco os dados do site da Receita. Pra facilitar o cadcadastro.

 

Sabe a busca por CEP ? Então... a mesma coisa, digita o CEP e manda buscar, dai preenche o FORM, evitando a digitação.

 

Eu pretendo fazer a mesma coisa, porém com o CNPJ.

 

Tem como puxar os dados ??

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dataset,

 

O que você quer é asp é o msxml2.serverXMLHTTP. Porém, para a requisição que você quer, não vai servir porque esse seu link não abre a tela que você quer. Ele abre uma tela para digitar o captcha e depois abrir a tela que você quer.

 

O que o pessoal tentou te passar, é que você não deve ler uma página html para pegar dados. Geralmente isso é tentativa de burlar algum site. O correto é você utilizar um webservice de consulta.

 

No caso do cep, se você no PHP faz consultando o html do Correios, você deveria mudar isso para ler o webservices do Correios. Nesse link mostra como usar: http://www.correios.com.br/para-sua-empresa/servicos-para-o-seu-contrato/precos-e-prazos/calculador-remoto-de-precos-e-prazos

 

Em todo caso, abaixo tem uma função que serve para ambos os casos.

function EnviaXMLHTTP(byval UrlWebservice, byval xmlEnvio, byval metodo, byval SoapAction, byval assincrono, byref msg_resultado)

		dim objXMLHTTP, strResult, cType
		
		EnviaXMLHTTP = false

		if len(metodo) = 0 then 
			if len(SoapAction) > 0 then
				metodo = "POST"
			else
				metodo = "GET"
			end if
		end if

		if metodo = "POST" then
			cType = "application/x-www-form-urlencoded"
		elseif metodo = "JSON" then
			metodo = "POST"
			cType = "application/json; charset=UTF-8"
		end if

		if len(assincrono) = 0 then assincrono = false

		set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")
		objXMLHTTP.setTimeouts 10000, 60000 , 60000, 360000 
		objXMLHTTP.open metodo, urlWebservice, assincrono
		if cType <> "" then objXmlHttp.setRequestHeader "Content-Type", ctype
		if len(soapAction) > 0 then 
			SoapAction = mid(urlWebservice, 1, instrrev(urlWebservice, "/")) & SoapAction
			objXMLHTTP.setRequestHeader "SOAPAction", SoapAction
		end if
		objXMLHTTP.setRequestHeader "Content-Length", Len(xmlEnvio)
		objXMLHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
		objXMLHTTP.SetRequestHeader "Accept", "text/xml,application/xml,application/xhtml+xml,text/html,application/json;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"
    	objXMLHTTP.SetRequestHeader "Accept-Language", "en-us,en,pt-br;q=0.5"
    	objXMLHTTP.SetRequestHeader "Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7"
		objXMLHTTP.send(xmlEnvio)
		if err.number = 0 then 
			strResult = objXMLHTTP.responseText

			If objXmlHttp.Status = 200 or objXmlHttp.Status = 201 Then
				msg_resultado = strResult
				EnviaXMLHTTP = true
			else
				msg_resultado = objXmlHttp.Status & "#" & strResult
			End If
		else
			msg_resultado = "Erro ao acessar o webservice na url " & urlWebservice & "<br>Erro = " & err.description
		end if
		on error goto 0
		err.clear

		set objXMLHTTP = Nothing 
	end function

Compartilhar este post


Link para o post
Compartilhar em outros sites

exatamente melhor forma é usar um webservice e depois pode implementar um autocomplete, tipo o busca CEP

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.