Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

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

  • Respostas 197
  • Created
  • Última resposta

Top Posters In This Topic

Postado

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;

Postado

Bom dia, este código para pegar o XML funciona se a empresa for a destinatária ou emitente da NF-e, ou para qualquer um que tenha o certificado instalado?

Postado

agora a receita so libera o xml

para o emitente e destinatario.

por isto da exigência do certificado.

E o xml vem 100%

Bom dia, este código para pegar o XML funciona se a empresa for a destinatária ou emitente da NF-e, ou para qualquer um que tenha o certificado instalado?
Postado

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.

Postado

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

Postado

Boa tarde,

Eu não entendo muito como pegar dados de uma pagina, mas não tem como pegar as informação da pagina que seria gerada para impressão.

Abs.

Cleiver

Postado

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

Postado

Alexsander

Também concordo com você, mas, desta forma os contadores/transportadores e restantes, que também precisam das informações das notas não conseguiram as mesmas.

- Sou desenvolvedor.

- De que linguagem, delphi? .NET? Java?

- Qualquer uma, sou desenvolvedor.

  • Moderadores
Postado

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
  • Membros Pro
Postado

Pessoal poderia a Receita federal utilizar a procuraçao digital no caso de contadores, pq todas as operacoes das empresas hj o contador faz com o certificado dele para as empresas na qual ele é responsavel.

Grato.

Postado

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

Postado

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.

Postado

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.

  • Este tópico foi criado há 2716 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.

The popup will be closed in 10 segundos...