Jump to content


Captura Do Xml Do Site Da Nfe










89 respostas a este tópico

#1 softcia

    Membro - Novato

  • Membros
  • Pip
  • 15 posts
  • Estado:Other Countries

Adicionado 06 April 2010 - 04:34 PM

Boa tarde. tem como capturar o XML do Site da nfe Fazenda? Preciso colocar no meu Sistema para capturar a NFE para lançar automático na Nota de Entrada.
https://www.nfe.faze...sulta=completa.

#2 anfm

    Membro - Senior 1

  • Membros
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 2265 posts
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 07 April 2010 - 07:29 AM

Use a DLL da FlexDocs - http://www.flexdocs..../capturaNFe.htm

#3 softcia

    Membro - Novato

  • Membros
  • Pip
  • 15 posts
  • Estado:Other Countries

Adicionado 08 April 2010 - 08:11 AM

View Postanfm, on 07 April 2010 - 07:29 AM, said:



Bom Dia, teria alguma forma de fazermos open source com o acbr conforme foi desenvolvido pela Flexdocs?

#4 Daniel Simões

    Membro - Top

  • Membros
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7155 posts
  • Você é Humano?:Sim
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 08 April 2010 - 09:47 AM

É claro que sim... se vc está disposto a desenvolver algo parecido... fique a vontade para enviar a sua contribuição...

#5 Jaime - Byte Informatica

    Membro - Junior 2

  • Membros
  • PipPipPipPip
  • 166 posts
  • Sexo:Masculino
  • Estado:Tocantins

Adicionado 10 April 2010 - 08:06 AM

softcia,
Também estou interessado em fazer essa captura, vamos ver se a gente acho o caminho das pedra pra fazer isso.
Vou postar aqui o que já descobri. Eu vi 2 sistema de contabilidade que fazem essas importações e ambas utiliza o mesmo trajeto:
1 - O sistema abre o portal de consulta da nfe:
https://www.nfe.faze...nsulta=completa
2 - Você digita ou passa o leitor de código de barras na chave de acesso da nota e depois digite o código da imagem ao lado:
3 - O site do nfe abre a nota eletronica:

A partir dai o sistema deles faz a captura automatica dos dados, fecha o portal e volta pro sistemas dele.

Agora o pulo do gato a gente vai ter que descobri. Fiz uns testes e que verifique é se a gente clicar na página (isso como Internet Explorer) com o botão do lado direito do mouse, exibir código fonte, depois Arquivo, salvar, fonte html como ele salva um arquivo .html com as informações da aba atual, portando tendo condições para ler as informações atraves do .html. E se vc clicar neste arquivo ele vai abrir as informações pra você. O detalhe e que teria que clicar em cada aba e ir salvando uma em arquivos diferente ( NF, EMITENTE, DESTINATARIOM PRODUTO/SERVICO, TOTAIS, TRANSPORTADORA, COBRANCA, INF ADICIONAIS, AVULSA). Agora tem que descobrir como é que o nosso componente irá clicar automaticamente em cada aba e mandar salvar eles.
Também não sei se esse é a maneira mais viável mas é o que descobri até agora.

Até mais.

#6 Jaime - Byte Informatica

    Membro - Junior 2

  • Membros
  • PipPipPipPip
  • 166 posts
  • Sexo:Masculino
  • Estado:Tocantins

Adicionado 10 April 2010 - 08:53 AM

Vendo um outro post acho que daria pra utilizar um sistema parecido com este tópico também.
http://www.devmedia....ic.asp?id=18843

Editado por Jaime - Byte Informatica, 10 April 2010 - 08:53 AM.


#7 anfm

    Membro - Senior 1

  • Membros
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 2265 posts
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 12 April 2010 - 08:20 AM

Pelo que vi, este site fornece a resposta para a consulta completa apenas para notas emitidas até 30 dias antes da consulta, ou seja, caso vc venha a perder os arquivos e queira recuperá-los através deste site, só conseguirá obter os XMLs dos últimos 30 dias.

#8 Rodnei Lino

    Membro - Junior 3

  • Membros
  • PipPipPip
  • 135 posts
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 14 April 2010 - 03:39 AM

a empresa q emitiu a nfe tem por obrigação te enviar o xml , e como tem o prazo de 30 dias axo meio enviavel fazer um projeto desse , mas a importaçao do xml já existe e funciona legal pra dar entrada de nota utilizo já a algum tempo

#9 softcia

    Membro - Novato

  • Membros
  • Pip
  • 15 posts
  • Estado:Other Countries

Adicionado 28 April 2010 - 04:57 PM

View PostRodnei Lino, on 14 April 2010 - 03:39 AM, said:

a empresa q emitiu a nfe tem por obrigação te enviar o xml , e como tem o prazo de 30 dias axo meio enviavel fazer um projeto desse , mas a importaçao do xml já existe e funciona legal pra dar entrada de nota utilizo já a algum tempo

Boa Tarde, se alguem puder dar o inicio do projeto eu concluo ele. Tenho farmacias que atendo que
recebem mais de 5 folhas de NFE, e precisam dar entrada. Ja criei no cadastro do produto o mesmo codigo do
produto do fornecedor para ajudar na hora da importação.

Um abraço a todos.

Mario Moreira
Santa Maria, RS

#10 softcia

    Membro - Novato

  • Membros
  • Pip
  • 15 posts
  • Estado:Other Countries

Adicionado 02 May 2010 - 09:47 PM

View PostDaniel Simões, on 08 April 2010 - 09:47 AM, said:

É claro que sim... se vc está disposto a desenvolver algo parecido... fique a vontade para enviar a sua contribuição...


Boa Noite,

Consegui acessar o site pelo delphi, preciso de ajuda para saber como ler as informacoes recebidas pelo

webbrowser, veja exemplo abaixo:

nesta linha consigo passar o parametro Numero da Nota:

o edit1.text é a Chave da Nota

FillForm(WebBrowser1, 'ctl00$ContentPlaceHolder3$chaveAcesso', edit1.Text);


O local para ler o Número da Nota é : Número<br /></span><span class="linha">1171<
para ler a Data de Emissão: Data de emissão<br /></span><span class="linha">25/02/2010<


Como criar uma função para ler estas informações?


A unit esta abaixo se quiser o código fonte para analise me mande o email que te mando.


Mario









 unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, StdCtrls, xmldom, XMLIntf, msxmldom, XMLDoc,
  WebDisp,MSHtml;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    WebBrowser1: TWebBrowser;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure WebBrowser1ProgressChange(Sender: TObject; Progress,
      ProgressMax: Integer);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;


function FillForm(WebBrowser: TWebBrowser; FieldName: string; Value: string): Boolean;
function WebFormGet(const formNumber: integer; const document: IHTMLDocument2): IHTMLFormElement;


var
  Form1: TForm1;

implementation

{$R *.dfm}


function FillForm(WebBrowser: TWebBrowser; FieldName: string; Value: string): Boolean;
var
  i, j: Integer;
  FormItem: Variant;
begin
  Result := False;
  //no form on document
  if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then
  begin
    Exit;
  end;
  //count forms on document
  for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
  begin
    FormItem := WebBrowser.OleObject.Document.forms.Item(I);
    for j := 0 to FormItem.Length - 1 do
    begin
      try
        //when the fieldname is found, try to fill out
        if FormItem.Item(j).Name = FieldName then
        begin
          FormItem.Item(j).Value := Value;
          Result := True;
        end;
      except
        Exit;
      end;
    end;
  end;
end;

function WebFormGet(const formNumber: integer; const document: IHTMLDocument2): IHTMLFormElement;
var
  forms : IHTMLElementCollection;
begin
  forms := document.Forms as IHTMLElementCollection;
  result := forms.Item(formNumber,'') as IHTMLFormElement
end;



procedure WebFormSubmit(
  const document: IDispatch;
  const formNumber: integer);
var
  form : IHTMLFormElement;
  field: IHTMLElement;
begin
  form := WebFormGet(formNumber, Document AS IHTMLDocument2) ;
  form.submit;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  WebBrowser1.Navigate('https://www.nfe.fazenda.gov.br/PORTAL/FormularioDePesquisa.aspx?tipoconsulta=completa');

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  WebFormSubmit(WebBrowser1.Document, 0);

end;

procedure TForm1.Button3Click(Sender: TObject);
begin

  FillForm(WebBrowser1, 'ctl00$ContentPlaceHolder3$chaveAcesso', edit1.Text);


end;

procedure TForm1.WebBrowser1ProgressChange(Sender: TObject; Progress,
  ProgressMax: Integer);
begin
  if ProgressMax = 0 then
  begin
    label1.Caption := '';
    Exit;
  end;
  try
    if (Progress <> -1) and (Progress <= ProgressMax) then
      label1.Caption := IntToStr((Progress * 100) div ProgressMax) + '% loaded...'
    else
      label1.Caption := '';
  except
    on EDivByZero do Exit;
  end;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

end;

end.






end
.

#11 Italo J Jr

    Membro - Pleno 1

  • Membros
  • PipPipPipPipPipPipPipPip
  • 456 posts
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 09 May 2010 - 05:06 PM

Boa tarde softcia,

Não vejo necessidade de criar uma rotina ou componente para capturar o XML do Site, pois a Secretaria da Fazenda recomenda que o emissor da NFe envie por e-mail uma cópia do XML para o cliente, porque tanto o emissor ou o cliente poderá ser notificado e deverá apresentar os arquivos.

Lembre-se:

O DANFe não é a Nota Fiscal Eletrônica é apenas um Documento Auxilizar da NF-e, logo o arquivo XML que é a NF-e própriamente dita .

Ambos, o emissor e o cliente devem armazenar os arquivos XML pelo periodo legal.

O cliente que não tiver condições de armazenar os arquivos, deverá guardar por 10 anos os DANFes.

Outra coisa, em breve as transportadoras deverão emitir os conhecimentos de transporte de cargas, tambem de forma eletrônica, ou seja emitir o CT-e.

Neste caso a transportadora e o tomador de serviço deverão guardar os arquivos XML tambem pelo periodo legal, já que o DACTe é apenas um Documento Auxiliar do Conhecimento de Transporte Eletrônico.

Tenho um sistema que funciona da seguinte forma:

O almoxarifado solicita o compra de varios materiais.

O departamento de compras, realiza a cotação em varios fornecedores e emite um Pedido de Compra contendo os materiais que serão adquiridos de um determinado fornecedor, é solicitado que conste no campo observação o numero do pedido. Essas informações são guardadas em uma tabela do BD (CNPJ_Fornec, CodMaterial, Qtde, Unitario, ...)

Quando os materiais chegam juntamente com a NF (comum ou eletrônica), o funcionario do almoxarifado informa o CNPJ do fornecedor e o numero do pedido de compra, pronto a rotina de entrada de materiais se encarrega do resto.

Essa solução foi adotada bem antes de surgir a NFe, para agilizar a entrada dos materiais no estoque.

[]s

#12 MHPaz

    Membro - Novato

  • Membros
  • Pip
  • 1 posts
  • Sexo:Masculino
  • Estado:Other Countries

Adicionado 01 July 2010 - 05:02 PM

Boa tarde softcia.

Nossa empresa desenvolveu esta solução.

O programa acessa automaticamente o site do Portal e transforma os dados em um xml no formato padrão da NF-e.

Estamos fornecendo este serviço atraves de WebServices.

Caso tenha interesse entre em contato!

http://www.simconsultas.com.br




View Postsoftcia, on 06 April 2010 - 04:34 PM, said:

Boa tarde. tem como capturar o XML do Site da nfe Fazenda? Preciso colocar no meu Sistema para capturar a NFE para lançar automático na Nota de Entrada.
https://www.nfe.faze...sulta=completa.


#13 anfm

    Membro - Senior 1

  • Membros
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 2265 posts
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 06 July 2010 - 09:59 AM

Abaixo estou adicionando um pequeno projeto que acessa o site http://www.nfe.fazenda.gov.br, realiza a consulta através da opção consulta completa e retorna todo o HTML da consulta em um memo e em outro memo apenas os campos já sem os códigos HTML.

Se alguém criar um conversor do HTML ou do texto já sem o HTML para as propriedades do componente ACBrNFe, poderemos criar um recuperador de XML, pois depois de prenchidas as propriedades no componente, poderemos gerar novamente o XML.

Attached File  RecuperarXML.rar   256.85K   864 Número de Downloads

Caso alguém envie os fontes para conversão, irei disponibilizar toda a rotina no SVN do ACBr.

#14 jcarvalho999

    Membro - Novato

  • Membros
  • Pip
  • 3 posts
  • Sexo:Masculino
  • Estado:Other Countries

Adicionado 08 July 2010 - 04:13 PM

View Postanfm, on 06 July 2010 - 09:59 AM, said:

Abaixo estou adicionando um pequeno projeto que acessa o site http://www.nfe.fazenda.gov.br, realiza a consulta através da opção consulta completa e retorna todo o HTML da consulta em um memo e em outro memo apenas os campos já sem os códigos HTML.

Se alguém criar um conversor do HTML ou do texto já sem o HTML para as propriedades do componente ACBrNFe, poderemos criar um recuperador de XML, pois depois de prenchidas as propriedades no componente, poderemos gerar novamente o XML.

Anexo RecuperarXML.rar

Caso alguém envie os fontes para conversão, irei disponibilizar toda a rotina no SVN do ACBr.


amigo!
o arquivo esta corrompido, ao baixar.

mas pergunto:

vc esta catando os campos "no braco" dentro do html devolvido pelo site?

#15 Daniel Simões

    Membro - Top

  • Membros
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7155 posts
  • Você é Humano?:Sim
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 08 July 2010 - 04:30 PM

Use o FireFox para baixar... isso é um bug do I.E. 8

#16 jcarvalho999

    Membro - Novato

  • Membros
  • Pip
  • 3 posts
  • Sexo:Masculino
  • Estado:Other Countries

Adicionado 09 July 2010 - 06:58 AM

ola, Daniel,

tks pela dica.
Agora baixou.

ola,Andre

Ao executar informa
runtime error 216 at 00403776.

desculpa chatear, mas esta incluido apenas o .exe.
fontes do dito programa nao estariam disponíveis?

[] jones

#17 anfm

    Membro - Senior 1

  • Membros
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 2265 posts
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 09 July 2010 - 11:29 AM

Os fontes só serão distribuidos caso alguém crie a rotina que leia o conteúdo do memo e preencha as propriedades do componente NFe.

#18 0BSCUR3

    Membro

  • Membros
  • PipPip
  • 30 posts
  • Estado:Santa Catarina

Adicionado 09 July 2010 - 05:48 PM

View Postanfm, on 09 July 2010 - 11:29 AM, said:

Os fontes só serão distribuidos caso alguém crie a rotina que leia o conteúdo do memo e preencha as propriedades do componente NFe.

André, ao executar o programa (Windows XP): "O RecuperarXML.exe encontrou um problema e precisa ser fechado". Depois aparece o erro:

Runtime error 216 at 00403776

E o programa não abre...

#19 Jean M

    Membro - Junior 3

  • Membros
  • PipPipPip
  • 100 posts
  • Sexo:Masculino
  • Estado:Espírito Santo

Adicionado 10 July 2010 - 08:46 AM

Pessoal, bom dia.

Concordo com o Italo J Jr., em minha opnião não vale a pena desenvolver algo deste tipo para recuperação de xml de terceiros, pois o arquivo deve ser assinado pelo emissor, ou seja, esta NFe recuperada do site do sefaz não terá validade fiscal/jurídica.
A empresa que está recebendo a NFe deve exigir do emissor o arquivo assinado que deverá ser guardado pelo período legal, e com este arquivo em mão fazemos a importação.
Penso que se colocar-mos algo deste tipo no sistema(de recuperar a NFe pelo site para dar entrada), nossos clientes nunca terão o hábito de exigir o arquivo original.
Bom, essa é apenas minha opnião.

Att.
Jean.

#20 Digibyte

    Membro - Novato

  • Membros
  • Pip
  • 3 posts
  • Sexo:Masculino
  • Estado:Paraná

Adicionado 12 July 2010 - 10:32 AM

A questão é que num sistema fiscal por exemplo o contador poderia lançar os dados economizando digitação, apenas lendo o código de barras. Tudo bem que o cliente do contador poderia mandar o XML mas na prático isso as vezes é difícil de fazer.





1 usuário(s) esta(ão) lendo este tópico

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)