Fórum Rotina Verificacao CPF/CNPJ site Receita Federal #345355
30/08/2007
0
Eremita
Curtir tópico
+ 0Posts
30/08/2007
Emerson Nascimento
a receita fez isso justamente para [b:996e00c063]evitar[/b:996e00c063] que ´robôs´ acessem o site.
entre no [url=http://www.receita.fazenda.gov.br/Aplicacoes/ATCTA/cpf/ConsultaPublica.asp]site da receita[/url] e veja.
Gostei + 0
30/08/2007
Eremita
Alguma diga de como fazer o Delphi abrir a pagina da Receita e passar o CPF/CNPJ como parametro. Deixando com que o usuario informe o valor da imagem.
Gostei + 0
23/10/2007
Adriano_servitec
Alguma diga de como fazer o Delphi abrir a pagina da Receita e passar o CPF/CNPJ como parametro. Deixando com que o usuario informe o valor da imagem.[/quote:d8c5bf33fb]
Vou ti passar uma unit que eu fiz aqui para pesquisar certidão negativa na Receita Federal
Vc deve usar os componentes Webbrowser, dois SpeedButtons, um maskedit com o nome EdtCNPJ
Eis a unit para isso amigo
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw, Buttons, ExtCtrls, ComCtrls,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
IdAntiFreezeBase, IdAntiFreeze, MSHTML, IdThreadMgrPool, IdThreadMgr,
IdThreadMgrDefault, XPMan, Menus, Mask;
type
TForm1 = class(TForm)
Panel1: TPanel;
WebBrowser1: TWebBrowser;
StatusBar1: TStatusBar;
Panel2: TPanel;
Label1: TLabel;
Image1: TImage;
Label5: TLabel;
Panel3: TPanel;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SBPSidHttp: TSpeedButton;
SBFechar: TSpeedButton;
SBPtoWB: TSpeedButton;
IdHTTP1: TIdHTTP;
IdAntiFreeze1: TIdAntiFreeze;
IdThreadMgrDefault1: TIdThreadMgrDefault;
IdThreadMgrPool1: TIdThreadMgrPool;
XPManifest1: TXPManifest;
MainMenu1: TMainMenu;
Arquivos1: TMenuItem;
Empresas1: TMenuItem;
Memo1: TMemo;
EdtCNPJ: TMaskEdit;
procedure SBFecharClick(Sender: TObject);
procedure SBPtoWBClick(Sender: TObject);
procedure WebBrowser1ProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function ExecuteScript(doc: IHTMLDocument2; script: string; language: string): Boolean;
var
win: IHTMLWindow2;
Olelanguage: Olevariant;
begin
if doc <> nil then
begin
try
win := doc.parentWindow;
if win <> nil then
begin
try
Olelanguage := language;
win.ExecScript(script, Olelanguage);
finally
win := nil;
end;
end;
finally
doc := nil;
end;
end;
end;
procedure FillInGMXForms(WB: ShDocVW.IWebbrowser2; IDoc1: IHTMLDocument2;
Document: Variant; P_CNPJ : string);
const
IEFields: array[1..2] of string = (´INPUT´, ´text´);
var
IEFieldsCounter: Integer;
i: Integer;
m: Integer;
ovElements: OleVariant;
begin
if Pos(´Emissão de Certidão Negativa´, Document.Title) <> 0 then
while WB.ReadyState <> READYSTATE_COMPLETE do
Application.ProcessMessages;
// contar os elementos e interagir por suas formas
IEFieldsCounter := 0;
for m := 0 to Document.forms.Length - 1 do
begin
ovElements := Document.forms.Item(m).elements;
// interagir por elemento
try
// preencher os campos
if (ovElements.item(0).tagName = IEFields[1]) and
(ovElements.item(0).type = IEFields[2]) then
begin
ovElements.item(0).Value := P_CNPJ;
Inc(IEFieldsCounter);
end;
except
// falha...
end;
end;
// se o campo estiver preenchido.
if IEFieldsCounter = 3 then ExecuteScript(iDoc1,´´,´JavaScript´);
end;
procedure TForm1.SBFecharClick(Sender: TObject);
begin
Close; //esta speedbutton é pra fechar o form
end;
procedure TForm1.SBPtoWBClick(Sender: TObject);
var
//esta speedbutton chama o webbrowser e preenche o campo com o numero do cnpj que vc indicou
IDoc1: IHTMLDocument2;
Web: ShDocVW.IWebBrowser2;
VEdtCNPJ : String;
I: Integer;
begin
// Navegação - Site
Webbrowser1.Navigate(´http://www.receita.fazenda.gov.br/Aplicacoes/ATSPO/Certidao/CndConjuntaInter/InformaNICertidao.asp?Tipo=1´);
// Verica o estado de navegação se não estiver completo, tempo para cpu
while Webbrowser1.ReadyState <> READYSTATE_COMPLETE do
Application.ProcessMessages;
// Pergunta pela interface TGUI do objeto
Webbrowser1.Document.QueryInterface(IHTMLDocument2, iDoc1);
// Pega a interface de controle do WebBrowser, mais ou menos isso
Web := WebBrowser1.ControlInterface;
vEdtCNPJ := EdtCNPJ.Text;
FillInGMXForms(Web, iDoc1, Webbrowser1.Document, vEdtCNPJ);//transporta o nr do edit CNPJ para o site da RF
end;
procedure TForm1.WebBrowser1ProgressChange(Sender: TObject; Progress,
ProgressMax: Integer);
begin
if ProgressMax = 0 then
begin
Label5.Caption := ´´;
Exit;
end;
try
if (Progress <> -1) and (Progress <ProgressMax> 0 then
begin
StatusBar1.simpletext:= formatfloat(´0.00´,progress / 1000)+´ Kbytes de ´+
formatfloat(´0.00´,progressmax / 1000)+´ Kbytes já carregados ...´;
End;
If progressmax <= progress then StatusBar1.simpletext:= ´Concluído !!!´;
end;
end.Gostei + 0
14/01/2008
Ferreia2
Estou precisando fazer uma consulta em um site da Febraban porém preciso passar a U.F como parametro para febraban e clicar em um OK tem como fazer isso em Delphi?
Gostei + 0
29/02/2012
Fabio Cardoso
http://knu.com.br
Contratei aqui pra minha empresa e funciona muito bem. Usamos para confirmar dados cadastrais de clientes a partir de um CPF ou CNPJ (nome completo, razão social, situação cadastral, endereço, etc). É bom também para confirmar se a empresa existe e não apenas validar se o CNPJ ou CPF são válidos. Recomendo.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)