Ir para conteúdo
  • Cadastre-se

dev botao

Receita mudou o código da página de consulta completa


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

Recommended Posts

  • Membros Pro

Pessoal eu acho o projeto recuperar Xml uma otima ferramenta, sabemos q é obrigatorio o fornecedor enviar o xml para os adquirintes, mais muitos desses deleta qdo chega em seus emails. Se conseguirmos somente recuperar o xml do site ja ta de bom tamanho porque os clientes ja guardaria os arquivos. Hoje esta funcionando apenas com o certificado digital do remetente ou destinatário. Teria que implentar essa situaçao no projeto.

grato.

Udenilson

Link para o comentário
Compartilhar em outros sites

  • Respostas 197
  • Created
  • Última resposta

Top Posters In This Topic

consegui com o codigo abaixo

tem que ter o certificado da empresa

vai abrir a janela do IE

digite o captch

confirme o certificado

mande salvar o xml

o IE salva na pasta do usuario.



procedure TForm1.Button7Click(Sender: TObject);

Var

  mUsuario,sArquivo:string;

  Size1 : DWord;

  pCompName   : array [0..MAX_COMPUTERNAME_LENGTH] of char;


var

	FormItem: Variant;

	FieldA,Field: Variant;

	F,FieldName: String;

  X,A,T,I,J: Integer;

  bEsperandoDown:Boolean;

  sChaveNfe,sUsuario:String;

begin


  Try

     Size1 := SizeOf(pCompName);


     GetComputerName(pCompName, Size1);

     ///cOMPUTADOR := pCompName;


     GetUserName(pCompName,Size1);


     sUsuario  := pCompName;


    sChaveNfe  := '35111202078313000198550010000087361405008687';

     sArquivo  := 'C:\Users\'+sUsuario+'\Downloads\'+sChaveNfe+'.xml';





    IEApp := CreateOLEObject('InternetExplorer.Application');

    IEApp.visible := true;

    IEApp.Top := 0;

    IEApp.Left := 0;

//    IEApp.Width := Screen.Width;

    IEApp.Height := Screen.Height;


    IEApp.Navigate('http://www.nfe.fazenda.gov.br/PORTAL/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=');


    repeat

      Application.ProcessMessages;

    until (IEApp.ReadyState >= READYSTATE_COMPLETE);


    repeat

      Application.ProcessMessages;

    until (IEApp.ReadyState >= READYSTATE_COMPLETE);




    if FileExists(sArquivo) then

       DeleteFile(sarquivo);


    T:=0;

    while True do

    BEGIN

        Memo1.Lines.Clear;

        T:= T+1;

        if T>300 then

          BREAK;

        if FileExists(sArquivo) then

           BREAK;


        Try

           FormItem :=   IEApp.Document.forms.Item(I);

          for j := 0 to FormItem.Length - 1 do

          begin

              if FileExists(sArquivo) then

                BREAK;


              //Identifica o campo e seu nome no formulário

              Field := FormItem.Item(j);

              FieldName := Field.Name;

              Memo1.Lines.Add(FieldName);


            if FieldName = 'ctl00$ContentPlaceHolder1$txtChaveAcessoCompleta' then // nome do input para o campo CNPJ

            bEGIN

              Field.Value := sChaveNfe;

            end


            else

             Begin

              if FieldName = 'ctl00$ContentPlaceHolder1$btnDownload' then // nome do input para o campo CNPJ

              begin

                repeat

                    Application.ProcessMessages;

                until (IEApp.ReadyState >= READYSTATE_COMPLETE);


                IEApp.Document.all.Item('ctl00$ContentPlaceHolder1$btnDownload', 0).click;


                repeat

                    Application.ProcessMessages;

                until (IEApp.ReadyState >= READYSTATE_COMPLETE);



                while (X<30) do

                begin

                    Sleep(100);

                    bEsperandoDown:=false;

                    for a := 0 to FormItem.Length - 1 do

                    begin

                      Fielda := FormItem.Item(j);

                      F := Fielda.Name;

                      if F = 'ctl00$ContentPlaceHolder1$btnDownload' then // nome do input para o campo CNPJ

                      Begin

                         bEsperandoDown:=true;

                      End;

                    end;

                    if not bEsperandoDown then

                       break ;


                    X := X+1;

                    Application.ProcessMessages;

                    if FileExists(sArquivo) then

                    begin

                       BREAK;

                    end;

                end;


              end

                else

                Begin


                  if FieldName = 'ctl00$ContentPlaceHolder1$btnNovaConsulta' then // nome do input para o campo CNPJ

                  begin

                    IEApp.Document.all.Item('ctl00$ContentPlaceHolder1$btnNovaConsulta', 0).click;

                 end;

                End;

              end;

          end;

        except


          try

               IEApp.Document.all.Item('ctl00$ContentPlaceHolder1$btnNovaConsulta', 0).click;

          except

               ShowMessage('erro');

               IEApp.Navigate('http://www.nfe.fazenda.gov.br/PORTAL/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=');


          end;


        End;

        repeat

              Application.ProcessMessages;

           if FileExists(sarquivo) then

              break;

        until (IEApp.ReadyState >= READYSTATE_COMPLETE);


        Sleep(100);

    END;


  Finally


  End;

  IEApp.Quit;


  Memo1.Lines.LoadFromFile(sarquivo);


end;

Link para o comentário
Compartilhar em outros sites

Mas o problema é que diversos softwares (dominio, questor entre outros) estao conseguindo fazer o download do xml via chave de acesso.

Ai meus clientes me perguntam como meu software nao faz esse tipo de coisa e outros fazem. Esse, pra mim, é meu maior dilema...

Link para o comentário
Compartilhar em outros sites

Pra mim deveria haver um site para download com certificado. Assim todo mundo poderia baixar, mas somente as suas NF-e. Para isto bastaria comparar o CNPJ da NF-e (emitente, destinatário ou transportadora) com o CNPJ do certificado. Hoje o RS faz quase isso, mas não contempla as transportadoras.

Alexsander da Rosa

Rednaxel Informática

http://rednaxel.com

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Pra mim deveria haver um site para download com certificado. Assim todo mundo poderia baixar, mas somente as suas NF-e. Para isto bastaria comparar o CNPJ da NF-e (emitente, destinatário ou transportadora) com o CNPJ do certificado. Hoje o RS faz quase isso, mas não contempla as transportadoras.

O SEFAZ nacional passou a fazer isso semana passada, que é o que gerou todo o problema relatado aqui neste tópico, eles disponibilizaram o botão de download que pede o certificado e fazem a comparação, mas é um problema para contadores que não vão e nem podem ficar com o certificado de cada cliente e empresas que ainda não emitem nota fiscal que recebem nota eletrônica e ainda não possuem certificado.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

Tem empresa que ja conseguiu burlar este bloqueiro veja abaixo:

É com extrema satisfação que damos está maravilhosa notícia. Nós somos os PRIMEIROS a se adequar ao novo sistema de importação da NF-e diretamente do portal da receita federal através do código de acesso.

A realização da importação de documentos eletrônicos através do portal nacional está novamente disponível.

A importação da Nf-e diretamente do portal da Receita Federal foi temporariamente interrompida devido ao novo sistema de segurança que criptografou algumas informações necessárias na importação da NF-e através do código de acesso, mas, pelo empenho de nossos colaboradores e foco na concentração de esforços mais uma vez superamos a concorrência saindo na frente na solução deste inconveniente.

Sempre quem está no topo da pirâmide é o privilegiado, e isso se da a você, nosso querido cliente.

12/03/2012

esta empresa e a Exatus

Link para o comentário
Compartilhar em outros sites

A mentalidade de alguns aqui é realmente lamentável. A sugestão de tirar do sistema e culpar a receita é lamentável, dá para ter uma idéia da mediocridade de quem propos isso.

Se o problema não tivesse atingido um grande número de empresas e profissionais, nós não teríamos uma entidade como a FENACON tomando providências.

Volto a frisar, a NF-e é um documento de múltiplas utilidades, assim com o CEP é e não pode ficar trancado. Se o objetivo foi tornar a informação da nota fiscal eletrônica e facilitar fiscalização, integração entre sistemas, ela deve ser disponibilizada de forma fácil e simples, para que os que necessitem dela façam o uso com o máximo de eficiência.

Vamos torcer aqui para que além da FENACON, outras entidades se mobilizem e que a receita ofereça outras soluções que atendam a todos os profissionais e empresas.

Link para o comentário
Compartilhar em outros sites

Não é mediocridade, é apenas que eu não sou besta de entrar nessa briga de gato e rato entre receita e nós. Ficar gastando tempo para auxiliar o cliente a não cumprir o que a Receita determina.

Enquanto a receita não disponibilizar um canal direto para recuperação do XML ASSINADO, não gasto um minuto tentando ler html, descriptografando ou o que seja.

Mas já que vcs querem tanto o REcuperar XML de volta, mãos a obra!!! Até agora só vi um ou dois apresentando soluções.... e 500 perguntando qdo vai estar pronto..

Continua não resolvendo, pois Transportadora, contador não é o emitente nem o destinatário.

Se alguém tiver alguma solução para contornar, favor postar aqui.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2475 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas

×
×
  • 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.