Ir para conteúdo
  • Cadastre-se

dev botao

Consulta Cadastro Optantes Simples Nacional


César Arrais
  • Este tópico foi criado há 1933 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde Pessoal,

 

Estou tendo uma necessidade que creio outros colegas também terão: Saber se a empresa é optante pelo SIMPLES Nacional. Andei pesquisando e achei este  link, onde pode ser consultado se a empresa é optante ou não. http://www8.receita.fazenda.gov.br/simplesnacional/aplicacoes/atbhe/consultaoptantes.app/consultaropcao.aspx  

 

Daí pensei: porque não criar um componente tipo o consulta CNPJ, o Consulta SIMPLES Nacional.

Então resolvi por a mão na massa, mas estou tendo uma certa dificuldade: não estou conseguindo trazer a imagem do captcha. Vou anexar o que já fiz e se alguém puder ajudar.... Creio que será útil para todos nós.

 

Segue o que já fiz, baseado no ACBrConsultaCNPJ.

U_Principal.pasConsultaSIMPLES.dprU_Principal.txtACBrConsultaSIMPLES.pas

Desde já agradecido pela atenção.

 

Fraternal abraço.

 

César Arrais

U_Principal.pas

ConsultaSIMPLES.dpr

U_Principal.txt

ACBrConsultaSIMPLES.pas

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde!

chegou a abrir os fontes da consulta CNPJ ou CPF?

os dois trabalham com captcha no mesmo sentido!

basta seguir os códigos como exemplo

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Pois foi exatamente de onde retirei a idéia, só que não estou conseguindo pegar o endereço do captcha. 

Creio que o problema está aqui:

 

function TACBrConsultaSIMPLES.GetCaptchaURL : String ;
var
  URL, Html: String;
begin
  try
    Html := Self.RespHTTP.Text;
 
           StrEntreStr(Html, '<img id="img-captcha2" alt="Imagem captcha 2" src="', '">');
    FViewState := StrEntreStr(Html, '<input type=hidden name="__VIEWSTATE" id="__VIEWSTATE" value='+'''', '''');
 
    Result := StringReplace(URL, 'amp;', '', []);
  except
    on E: Exception do
    begin
      raise EACBrConsultaSIMPLESException.Create('Erro na hora de obter a URL do captcha.'+#13#10+E.Message);
    end;
  end;
end;
Link para o comentário
Compartilhar em outros sites

  • Moderadores

há tá... então abra seu navegador!

depois pressione F12 que irá abrir o debug e então faça você uma pesquisa por lá

vai ver que ele mostrará tudo o que ocorre e links a serem usados

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Já consegui buscar a imagem. Minha dificuldade agora está no POST da consulta. Informar os dados para a consulta e buscar os resultados.

Segue em anexo o que já fiz até agora.

Não entendo nada de java nem de asp, mas estou caminhando.
Toda ajuda é bem vinda.
 

 

ACBrConsultaSIMPLES.pas

Editado por César Arrais
Link para o comentário
Compartilhar em outros sites

Já consegui buscar a imagem. Minha dificuldade agora está no POST da consulta. Informar os dados para a consulta e buscar os resultados.

Segue em anexo o que já fiz até agora.

Não entendo nada de java nem de asp, mas estou caminhando.
Toda ajuda é bem vinda.
 

 

attachicon.gifACBrConsultaSIMPLES.pas

tente usar o firebug com o firefox:

https://addons.mozilla.org/pt-br/firefox/addon/firebug/

ele pode te ajudar muito na questão dos metodos get / post 

ele pode te mostrar os parametros necessarios

Link para o comentário
Compartilhar em outros sites

Obrigado datilas, instalei o firebug.

 

o parametro do cnpj sempre muda 
 
"ctl00$ContentPlaceHolderConteudo$635702438615689998"
 
a parte em negrito altera, para passar o cnpj tenho que pegar o nome do campo.
 
<input name="ctl00$ContentPlaceHolderConteudo$635702438615689998" maxlength="14" id="ctl00_ContentPlaceHolderConteudo_635702438615689998" tabindex="1" class="caixaTexto" style="width:95px;" type="text">
 
Se alguém puder dar uma luz, agradeço.
 
Abs.
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

Alguém conseguiu avançar? Travei na hora da consulta. Nao sei o que devo informar na função abaixo:

 

function TACBrConsultaSIMPLES.Consulta(const ACNPJ, ACaptcha: String;
  ARemoverEspacosDuplos: Boolean): Boolean;
var
  Post: TStringStream;
  Erro: String;
  Resposta : TStringList;
begin
  Erro := ACBrValidadorValidarCNPJ( ACNPJ ) ;
  if Erro <> '' then
     raise EACBrConsultaSIMPLESException.Create(Erro);

  Clear;
  Post:= TStringStream.Create('');
  try
    Post.WriteString('Consultar');
    Post.WriteString('ctl00_ContentPlaceHolderConteudo_'+FSessao+'='+OnlyNumber(ACNPJ)+'&');
    Post.WriteString('ctl00_ContentPlaceHolderConteudo_txtTexto_captcha_serpro_gov_br='+Trim(ACaptcha)+'&');

    Post.WriteString('opcao=Limpar&');
    Post.WriteString('submit=Consultar&');
    Post.WriteString('search_type=cnpj');
    Post.Position:= 0;

{

http://www8.receita.fazenda.gov.br/SIMPLESNACIONAL/APLICACOES/ATBHE/CONSULTAOPTANTES.APP/WebResource.axd?d=ATCgXPXk_gbQN-SGRAo957kIm-2Gy56XUQBevvJToDAxMcGVUNbxUgWFrt6JFo6vVbYc2RVxzkdzKEH_SJCMJv8DUgGt1QKbPkAW-phLKFc1&t=635170580427401264

<script src="/SIMPLESNACIONAL/APLICACOES/ATBHE/CONSULTAOPTANTES.APP/WebResource.axd?d=CBKsGwIRkIfXWC1K4WmgwnsCrSIhzP52ZzDkKuc50-uS4h0gpuSPkuQRfMxfemPIOhN710MyWFuTahunxrNFAwQjGrhGKCWos2sgX-CkmGM1&amp;t=635068628482349769" type="text/javascript"></script>
<script src="/SIMPLESNACIONAL/APLICACOES/ATBHE/CONSULTAOPTANTES.APP/WebResource.axd?d=CBKsGwIRkIfXWC1K4WmgwnsCrSIhzP52ZzDkKuc50-uS4h0gpuSPkuQRfMxfemPIOhN710MyWFuTahunxrNFAwQjGrhGKCWos2sgX-CkmGM1&amp;t=635068628482349769" type="text/javascript"></script>
<script src="/SIMPLESNACIONAL/APLICACOES/ATBHE/CONSULTAOPTANTES.APP/WebResource.axd?d=1kjdyw1HYJyqkkIOzczA_VqJa4nlLwJ1DqDPRGXDnUPDeamSQ_S5GE6mQxg6yglvSy3qj3UE_9xU32LfU76kW7AoMQu-O1H7LTjI_jTPwXc1&amp;t=635170580768019343" type="text/javascript"></script>
<script src="/SIMPLESNACIONAL/APLICACOES/ATBHE/CONSULTAOPTANTES.APP/WebResource.axd?d=bxcSQBG970UytOA_qY2uIpSk-6HatekNYTiVn-57t_K4f6u5N1BGPLbrYCT_3z378oNcERJfT4Wi3jTX5-JFrO3pZB64n0z1e8pdu4Uhrv81&amp;t=635170580362868269" type="text/javascript"></script>


<script src="/SIMPLESNACIONAL/APLICACOES/ATBHE/CONSULTAOPTANTES.APP/WebResource.axd?d=Iy2iZAPv8y_CWqAD3SsLsSFBPxS6k6YE8n8uMrdjan2V7Sk3z3qL8-RsLQw-yKV2k0-xoyDtKe-RrmyEWDsghACd7KvkQOEqgLVIG6BzVHw1&amp;t=635068628482349769" type="text/javascript"></script>
<script src="/SIMPLESNACIONAL/APLICACOES/ATBHE/CONSULTAOPTANTES.APP/WebResource.axd?d=Iy2iZAPv8y_CWqAD3SsLsSFBPxS6k6YE8n8uMrdjan2V7Sk3z3qL8-RsLQw-yKV2k0-xoyDtKe-RrmyEWDsghACd7KvkQOEqgLVIG6BzVHw1&amp;t=635068628482349769" type="text/javascript"></script>


}
    HttpSend.Clear;
    HttpSend.Document.Position:= 0;
    HttpSend.Document.CopyFrom(Post, Post.Size);
    HTTPSend.MimeType := 'application/x-www-form-urlencoded; charset=utf-8';
    HTTPPost('http://www8.receita.fazenda.gov.br/SIMPLESNACIONAL/APLICACOES/ATBHE/CONSULTAOPTANTES.APP/WebResource.axd?d='+FViewState+'&amp;t='+FSessao);
    Erro := VerificarErros(RespHTTP.Text);

    if Erro = '' then
    begin
      Result:= True;
      Resposta := TStringList.Create;
      try
        Resposta.Text := StripHTML(RespHTTP.Text);
        RemoveEmptyLines( Resposta );

        //DEBUG:
        //Resposta.SaveToFile('d:\SIMPLES.txt');


        FDataConsulta                    := LerCampo(Resposta,'Data da consulta');
        FCNPJ                            := LerCampo(Resposta,'CNPJ');
        FRazaoSocial                    := LerCampo(Resposta,'Nome Empresarial');
        FSituacaoSIMPLESNacional        := LerCampo(Resposta,'Situação no Simples Nacional');
        FSituacaoSIMEI                    := LerCampo(Resposta,'Situação no SIMEI');
        FSituacaoSIMPLESNacionalAnterior:= LerCampo(Resposta,'Opções pelo Simples Nacional em Períodos Anteriores');
        FSituacaoSIMEIAnterior            := LerCampo(Resposta,'Opções pelo SIMEI em Períodos Anteriores');
        FAgendamentosSIMPLESNacional    := LerCampo(Resposta,'Agendamentos no Simples Nacional');
        FEventosFuturosSIMPLESNacional    := LerCampo(Resposta,'Eventos Futuros no Simples Nacional');
        FEventosFuturosSIMEI            := LerCampo(Resposta,'Eventos Futuros no SIMEI');
      finally
        Resposta.Free;
      end ;

      if Trim(FRazaoSocial) = '' then
        raise EACBrConsultaSIMPLESException.Create('Não foi possível obter os dados.');

      if ARemoverEspacosDuplos then
      begin
        FRazaoSocial := RemoverEspacosDuplos(FRazaoSocial);
      end;
    end
    else
    begin
      Result:= False;
      raise EACBrConsultaSIMPLESException.Create(Erro);
    end;
  finally
    Post.Free;
  end;
end;

 

Segue em anexo o que já consegui avançar.

 

ACBrConsultaSIMPLES.pas

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Cesar, alterando a linha como abaixo não dá erro na consulta, porém mostra como se a requisição tivesse sido enviada sem cnpj e sem o captcha.

    HTTP.HTTPSend.MimeType := 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'; //'application/x-www-form-urlencoded';

Bom, vou tentando por aqui. Qualquer novidade aviso.

Abraços e obrigado.

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • 2 semanas depois ...
  • Este tópico foi criado há 1933 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.