Atualmente, a SEFAZ não está verificando a distribuição das NF-e para o destinatário; mas com o decorrer do processo esse recurso (previsto no projeto) será exigido em breve (conforme “nota” no próprio manual). Em resumo, o arquivo eletrônico da NF-e, quando autorizada, deverá ser enviado pelo emitente para o destinatário de acordo com a cláusula décima do AJUSTE SINIEF 07/05.

O que demonstraremos à partir daqui é como fazer isso facilmente, usando o Delphi (TXMLDocument e Indy). Esse artigo será disponibilizado em duas partes: a primeira (essa que vc está lendo agora) demonstra como criar o arquivo XML conforme o leiaute de distribuição da NF-e descrito no “Manual de Integração do Contribuinte” (pág.77) à partir da NF-e assinada e protocolo de autorização de uso; a segunda parte, conterá informações para o envio do arquivo via e-mail para o destinatário.

Entendendo o leiaute da distribuição da NF-e

Então, para criar o leiaute “procNFe_v1.10.xsd” conforme schema XML atualmente em uso; vamos partir do princípio que o seu programa já esteja enviando e consultando os recibos da NF-e e, então, tenha acesso aos dois arquivos XML necessários: 01) o arquivo XML da NF-e assinada e 02) o arquivo XML do protocolo de autorização de uso da NF-e. No nosso exemplo, esses arquivos estão localizados nas pastas “c:\nfe_arquivos\assinadas” e “c:\nfe_arquivos\protocolos”.

Conforme o schema XML do leiaute da distribuição da NF-e; temos que ter uma tag raiz “nfeProc” contendo a versão do leiaute como atributo e, dentro dessa tag raiz a tag “NFe” contendo todo o conteúdo de “NFe” inclusive os dados da assinatura (dados obtidos nesse exemplo da NF-e assinada “arquivonfe.xml”) e por último a tag “protNFe” contendo todo o conteúdo do “protNFe” (dados obtidos nesse exemplo do arquivo “protocolonfe.xml”).

Parece complicado mas veja no código abaixo que o “TXMLDocument” do Delphi simplifica tudo:

Código fonte exemplo para criação do arquivo de distribuição da NF-e para o Destinatário:

var vXMLProt, vXMLNFe, vXMLCompartilha: TXMLDocument;
    NodePaiNFe, NodeProt: IXMLNode;
    NodeNivelA: IXMLNode;
begin
  vXMLProt := TXMLDocument.Create(self);
  vXMLNFe := TXMLDocument.Create(self);
  vXMLCompartilha := TXMLDocument.Create(self);
  try
 
  // Abre XML NFe assinada;
  vXMLNFe.LoadFromFile('c:\nfe_arquivos\assinadas\arquivoNFe.xml');
  //Abre XML Protocolo autorização;
  vXMLProt.LoadFromFile('c:\nfe_arquivos\protocolo\protocoloNFe.xml'); 
 
  // Le o nó "NFe" da NFe assinada
  NodePaiNFe := vXMLNFe.DocumentElement;
 
  // Le o nó "protNFe" do protocolo de autorização
  NodeProt := vXMLProt.DocumentElement.ChildNodes.FindNode('protNFe');
 
  // Cria documento de envio para o Destinatário
  With vXMLCompartilha do begin
       // ativa, versiona e codifica UTF-8 para o XML
       Active := True;
       Version := '1.0';
       Encoding := 'UTF-8';
 
       // adiciona atributos padrão arquivo
       AddChild('nfeProc','http://www.portalfiscal.inf.br/nfe');
       DocumentElement.Attributes['xmlns:ds'] :=
       'http://www.w3.org/2000/09/xmldsig#';
       DocumentElement.Attributes['xmlns:xsi'] :=
       'http://www.w3.org/2001/XMLSchema-instance';
       DocumentElement.Attributes['xsi:schemaLocation'] :=
       'http://www.portalfiscal.inf.br/nfe/procNFe_v1.10.xsd';
 
       // Prepara o nó principal e adiciona a versão como atributo
       NodeNivelA := DocumentElement;
       NodeNivelA.Attributes['versao'] := '1.10';
 
       // Adiciona o nó "NFe" da Nota Fiscal eletrônica assinada
       NodeNivelA.ChildNodes.Add(NodePaiNFe);
       NodeNivelA.ChildNodes.Add(NodeProt);
  end;
  // salva arquivo de distribuição da NF-e no disco.
  VXMLCompartilha.SaveToFile('c:\nfe_arquivos\compartilhadas\procNFE.xml');
  finally
      vXMLNFe.Free; vXMLProt.Free; vXMLCompartilha.Free;
  end;

onde:
arquivonfe.xml = nome do arquivo XML que contêm os dados NF-e assinada e autorizada.
protocolonfe.xml = nome do arquivo XML que contêm os dados do protocolo de autorização da NF-e.

Posts Relacionados

Tags: , ,



55 Comentários

  • At 2009.01.26 11:43, admin said:

    Adriano,

    Numa primeira olhada, não vi nada de errado no código (mesmo porque é código já testado dessa matéria), me envia os dois XML que vc está usando (teste.signed.xml e retconsrecinfe.xml), é a única diferença; assim, vou testar o codigo com eles aqui para tentar identificar o problema pra vc.

    Sds

    • At 2009.01.26 13:02, Adriano said:

      Olá Caio,

      Te enviei as duas xml para analise

      • At 2009.01.26 15:22, admin said:

        Olá Adriano,

        Realizei o teste com suas XML e funcionou normalmente. Então, se o código está correto e os arquivos XML também; assim como funcionou aqui deveria funcionar para vc também.

        Reparei na linha onde vc. aponta a pasta para gravar o resultado que não informou a unidade; faça isso e tente novamente.

        de:
        VXMLCompartilha.SaveToFile(’NFE_XML\XML_DestinatarioprocNFE.xml’);

        para:
        VXMLCompartilha.SaveToFile(’C:\Sunrise_net\Projeto NotaFiscalEletronica\NFE_XML\XML_DestinatarioprocNFE.xml’);

        Seguindo a sua configuração.

        Sds,

        • [...] isso concluímos o artigo sobre a Nota Fiscal Eletrônica Compartilhada, na primeira parte (parte I) geramos o arquivo da NF-e compartilhada à partir dos arquivos XML da NF-e assinada e do XML do [...]

          • At 2009.01.29 07:02, Adriano said:

            Olá Caio,

            Bem ainda persiste o erro de não encontrar a parte da XML “The node to be inserted is from a diferent document context”. Bem como estou utilizando o RAD STUDIO 2007, pode ser algum problema. Gostaria de saber ne na hora da montagem desse script vc utilizou algum componente, pois no RAD EXISTE um chamado TXMLDocument.

            Desde já agradeço

            • At 2009.01.29 08:33, admin said:

              Olá Adriano,

              Esses exemplos foram compilados e testados no Delphi 7. Não uso o RS 2007 ainda. Pode ser que seja necessário alguma modificação; mas, normalmente, como estamos usando componentes da distribuição nativa do Delphi deveriam funcionar do mesmo jeito.

              Sds,

              • At 2009.02.03 08:03, Marcelo R. Rodrigues(Luttinem) said:

                muito bom.

                • At 2009.02.18 17:04, Valdo said:

                  Amigo, preciso testar essa tela, com as Xmls. Você poderia me enviar,as xmls? Neste email: valdoboliveira@bol.com.br

                  • At 2009.02.19 07:59, Valdo said:

                    Amigo se não puder mandar a xmls, porfavro então você poderia me mandar o padrão do Leiaute da Distribuição: NF-e. Não sei se têm que ter algun padrão além do que especificado na página 77 do Manual. POr Favor responda nesse email: valdoboliveira@bol.com.br

                    • At 2009.02.19 08:09, admin said:

                      Olá Valdo,

                      Repare que o arquivo XML que vc. envia para o destinatário deve conter: a sua NF-e assinada e o protocolo de autorização da NF-e. O exemplo acima lhe mostra como carregar os dois arquivos e gerar o arquivo de envio ao destinatário.

                      Para testar o exemplo, vc vai precisar apenas de uma NF-e assinada pela sua aplicação e o retorno da consulta do recibo dessa NF-e.

                      Sds,

                      • At 2009.03.04 12:31, Silvestre said:

                        Boa tarde Caio, consegui gerar o arquivo conforme a sua dica ( ja aproveito para parabeniza-lo pelo site ), porém o visualizador de NFe da Receita diz que tem erro no arquivo. Existe a possibilidade de eu lhe enviar o arquivo para verificar se tem algum erro ?

                        Aguardo.

                        • At 2009.03.05 08:55, Silvio said:

                          No decorrer do processo desde o inicio da NFe já foram aparecendo e compartilhamos novos recursos e facilidades para nos Desenvolvedores, bom pessoal desenvolvo software personalizado para cada cliente e com isso muda algumas regras nos sistemas e por este motivo gostaria de saber de vocês sabem de um link onde tem ou esta em desenvolvimento um componente para NFE já olhei no da ACBR mas parecem q deram uma parada nos mais agradeço a todos

                          • At 2009.03.05 15:05, admin said:

                            Olá Silvio,

                            Caso ainda não conheça eu indico dar uma olhada no componente da FlexDocs “nfe_util.dll”.(Visite o Blog da NFe).

                            Sds,

                            • At 2009.03.05 15:17, admin said:

                              Olá Silvestre,

                              Vc. pode usar alguns recursos disponíveis na “nfe_util.dll” para identificar os problemas no seu arquivo. No caso a função “validaXML” vai identificar os problemas no schema.

                              Sds,

                              • At 2009.03.06 11:00, Silvestre said:

                                O Problema de leitura ja consegui identificar, porem na paleta Certificado Digital do programa visualizador de NFe as informações nao aparecem, tens algum caso desse tipo ?

                                Desde já agradeço.

                                • At 2009.03.06 11:25, admin said:

                                  Olá Silvestre,

                                  Realmente sobre o visualizador de NFe eu tenho pouca informação, visto devo tê-lo usado uma ou duas vezes durante o inicio do projeto.

                                  Sds, Caio

                                  • At 2009.03.06 13:27, Silvestre said:

                                    OK. Obrigado pela atenção.

                                    • At 2009.03.13 13:45, André F. Moraes said:

                                      Conforme um comentário acima, o ACBrNFe não está parado.
                                      Mais informações sobre o projeto em http://acbr.sourceforge.net/drupal/?q=node/36

                                      • At 2009.03.17 21:15, Fabiana Grillo Araújo said:

                                        Boa Noite Caio,
                                        Voce poderia me enviar um exemplo de como validar um arquivo XML de uma NF-e, pois preciso validar os arquivos XML mas não estou conseguindo fazer.

                                        Eu estou fazendo o seguinte mas não estou conseguindo validar.
                                        // Em Win32
                                        // Criando o XMLDocument
                                        XMLNFe := TXMLDocument.Create(self);
                                        // Lendo o XML
                                        XMLNFe.LoadFromFile(LaEdValidaXML.Text);
                                        // Colocando as opções de Validação
                                        XMLNFe.ParseOptions:= [poResolveExternals, poValidateOnParse];
                                        // Limpando os Atributos atuais
                                        XMLNFe.DocumentElement.AttributeNodes.Clear;
                                        // Inserindo os atributos com o arquivo de Schema para Validação
                                        XMLNFe.DocumentElement.Attributes['xmlns:xsi'] :=
                                        ‘http://www.portalfiscal.inf.br/nfe’;
                                        XMLNFe.DocumentElement.Attributes['xsi:schemaLocation'] :=
                                        ‘./procNFe_v1.10.xsd’;
                                        // Salvando com outro Nome – para Teste
                                        XMLNFe.SaveToFile(‘C:\STCI\NFe\XML\TESTE.XML’);
                                        Try
                                        XMLNFe.Active := True;
                                        ShowMessage( ‘Arquivo Valido’ );
                                        // Mostrando o WebBrowser para o cliente
                                        WeBrXML.Navigate(‘file://C:\STCI\NFe\XML\TESTE.XML’);
                                        Except
                                        on E: EDOMParseError do
                                        TaskMessageDlg(‘Erro’, ‘Arquivo XML não é válido.’ + #13+#10 +
                                        E.Message, mtInformation, [mbOK], 0);
                                        End;
                                        XMLNFe.Free;

                                        // Em FCL eu consigo fazer sem problemas, mas preciso rodar em Win32

                                        Obrigada pela atenção.

                                        • At 2009.03.23 10:05, Alaercio said:

                                          Olá Caio, a geração do arquivo esta beleza, gostaria que analizasse o codigo abaixo, pois nao estou conseguindo, le este arquivo, que gero, arquivo de distribuição, fiz como leio outros, mas deve ter algo errado, ou minha logica esta errada veja:

                                          //neste ponto ja tenho o Xlm carregado no XmlDocument
                                          vXMLDoc.DocumentElement.ChildNodes.First;
                                          NodePai := vXMLDoc.DocumentElement.ChildNodes.FindNode(‘NFe’);
                                          NodeSec := NodePai;
                                          NodeSec.ChildNodes.First;

                                          NodeTer := NodeSec.ChildNodes['infNFe'];
                                          NodeTer.ChildNodes.First;
                                          repeat
                                          NodeTmp := NodeSec.ChildNodes['ide'];
                                          NodeTmp.ChildNodes.First;

                                          teste1 := NodeTmp.ChildNodes['cNF'].text;

                                          nao me traz valor nenhum no camp ‘cNF’

                                          e precisarei ler toda a estrutura da nota como itens etc, que serao nodes mais internos
                                          agradeço sua ajuda

                                          • At 2009.03.23 11:07, Alaercio said:

                                            Caio, achei o erro era na linha,
                                            NodeTmp := NodeSec.ChildNodes['ide'];
                                            deve ser

                                            NodeTmp := NodeTer.ChildNodes['ide'];

                                            mas aproveitando esta logiva esta certa?

                                            pois como comentei terei que ler niveis mais internos, a seguir, sigo esta mesma logica, ou acha que tem alguma maneira mais correta de ler

                                            obrigado
                                            abraço

                                            • At 2009.03.26 14:10, Pasquale said:

                                              laioute, leiaute ????

                                              ou seria layout =]

                                              • At 2009.03.27 09:36, admin said:

                                                Legal Pasquale,

                                                laioute (estava errado e corrigi, valeu), mas “leiaute” eu uso de propósito é muito usado por outros na web; é considerado o modo “aportuguesado” de escrever.

                                                sds

                                                • At 2009.04.03 16:25, Ronaldo said:

                                                  Olá Caio, só uma dúvida que queria tirar contigo
                                                  o cabeçalho e a versão, como neste caso “procNFe_v1.10.xsd’” e
                                                  NodeNivelA.Attributes['versao'] := ’1.10′
                                                  elas podem variar?, como eu posso saber qual versão informar?
                                                  Att, Ronaldo.

                                                  • At 2009.04.03 20:08, admin said:

                                                    Olá Ronaldo,

                                                    O Controle de versão dos arquivos da NF-e é regulado pela SEFAZ; atualmente a versão em uso em todos os estados é a 1.10. Existe previsão para a liberação da versão 1.12, na verdade foi adiada. A principal modificação é na montagem da chave de acesso.

                                                    Vc. deve observar de tempos em tempo no Portal da Nota Fiscal Eletrônica.

                                                    Sds,

                                                    • At 2009.04.06 10:03, Ronaldo said:

                                                      Obrigado Caio, só mais uma dúvida se você puder me ajudar.
                                                      Com relação aos nomes dos arquivos de envio, por exemplo este de distribuição, eu lí no manual do contribuinte que existem alguns padrões que neste caso seria o número do protocolo + a versão, sou obrigado a usar estes padrões? como você faz? E como você nomeia os arquivos para salvar na máquina do cliente? Desde de já agradeço sua disposição…
                                                      att: Ronaldo.

                                                      • At 2009.04.08 09:51, admin said:

                                                        Olá Ronaldo,

                                                        Siga os padrões conforme manual. É como eu faço. Eu criei uma estrutura de pastas baseado no dia da emisão (naoassinadas, assinadas, enviadas, protocolo). Onde gravo respectivamente: as NF-e sem assinar, depois de assinadas, arquivos de envio (lotes) e protocolo de autorização (qdo houver).

                                                        Sds,

                                                        • At 2009.05.12 16:51, Willian Santos said:

                                                          .

                                                          Boa noite senhores desenvolvedores/analistas.

                                                          Primeiro parabéns ao Caio.

                                                          Estou postando para saber se o mesmo caso aconteceu com alguém!

                                                          Algumas NF-e ao consultar o protocolo esta assim:

                                                          2
                                                          SP_NFE_PL_005c
                                                          100
                                                          Autorizado o uso da NF-e
                                                          35
                                                          35090560397445000189550010001390780046403272
                                                          2009-05-06T16:45:44
                                                          135090008051368
                                                          3A1/OuXP0Vtlk518iCCo+dLzyT4=

                                                          e outros assim:

                                                          2
                                                          SP_NFE_PL_005c
                                                          350000004239987
                                                          104
                                                          Lote processado
                                                          35

                                                          2
                                                          SP_NFE_PL_005c
                                                          35090560397445000189550010001390890046403276
                                                          2009-05-12T09:06:22
                                                          135090008369780
                                                          PlhS7Eb9qz0dj0Owen94reO10x0=
                                                          100
                                                          Autorizado o uso da NF-e

                                                          percebi que as versões são diferentes e que ao gerar protNfe, acontece um bug. Para corrigir fiz a leitura do Protocolo de versão 1.07 e carrego as informações correspondentes para o Protocolo da versão 1.10.

                                                          Tentei procurar no SEFAZ, alguma resposta, mas não a encontrei.

                                                          Caso o mesmo aconteceu com alguém, se quiser entre em contato.

                                                          Valeu pessoal.

                                                          Willian Santos
                                                          Desenvolvedor/Analista
                                                          Rysys Virtual Solution

                                                          .

                                                          • At 2009.08.11 12:27, RIBAMAR said:

                                                            ..será que alguem pode me dizer, porque tenho de gerar arq.xml , sendo que pelo sistema do sefaz, eu posso importar arquivo texto, ficando o resto de todo o trabalho de assinatura, envio, DANFE, etc.. para o aplicativo deles, que é gratuíto?

                                                            • At 2009.08.11 13:04, admin said:

                                                              Olá Ribamar,

                                                              O aplicativo emissor da SEFAZ é uma solução paliativa para as empresas que não possuem um sistema próprio integrado aos recursos da NF-e.

                                                              A distribuição da NF-e é uma obrigação do emitente da NF-e, conforme o “Manual de Integração do Contribuinte” e, portanto, o recurso deverá ser disponibilizado na aplicação.

                                                              É fato que ainda não está sendo verificado pelo sistema da SEFAZ se o arquivo de distribuição da NF-e está sendo enviado ou não para o destinatário; porém, em pouco tempo isso deve começar a ocorrer.

                                                              Sds,

                                                              • At 2009.10.07 13:28, Lisandro said:

                                                                Olá Silvestre

                                                                colocaste:
                                                                “Boa tarde Caio, consegui gerar o arquivo conforme a sua dica ( ja aproveito para parabeniza-lo pelo site ), porém o visualizador de NFe da Receita diz que tem erro no arquivo. Existe a possibilidade de eu lhe enviar o arquivo para verificar se tem algum erro ?”

                                                                Estou passando pela mesma dificuldade! Conseguiste resolver?

                                                                []s

                                                                • At 2009.10.07 13:33, Lisandro said:

                                                                  Olá Silvestre, perdoe-me, postei uma mensagem errada antes (copie o trecho errado, agora vai o certo)

                                                                  colocaste:
                                                                  “O Problema de leitura ja consegui identificar, porem na paleta Certificado Digital do programa visualizador de NFe as informações nao aparecem, tens algum caso desse tipo ?”

                                                                  Estou passando pela mesma dificuldade! Não aparecem as informações do certificado. Conseguiste resolver?

                                                                  []s

                                                                  • At 2009.10.20 09:42, mh.caldas said:

                                                                    amigos estou com problemas para o DFe gerar o numero d eprotocolo…estou a dois duias com a mensgaem ” nF assinada”, mas a mesma nao retorno para o sistema que eu uso, nao aparece o numero do protocolo..eu uso sistema do Synchro.

                                                                    • At 2009.10.21 07:51, admin said:

                                                                      Olá mh.caldas,

                                                                      Sua mensagem não está muito clara, mas, repare que o numero do protocolo não é o seu sistema que deve gerar, essa informação vc recebe quando consulta o recibo de entrega da NF-e após tê-la enviado anteriormente. Mas, nesse caso, sugiro que entre em contato com o fornecedor para que lhe dêem o suporte adequado.

                                                                      Sds

                                                                      • At 2009.12.02 13:57, Rafael said:

                                                                        parabéns pelo post muito bom!!!

                                                                        • At 2009.12.03 12:20, rodrigo said:

                                                                          Alguem utiliza os componentes da abcr para delphi, que possa passar um bom exemplo, definindo uma classe que passe para o componente os dados da nf

                                                                          obg

                                                                          • At 2009.12.20 10:12, Joaquim Júnior said:

                                                                            QUAIS OS CAMPOS QUE FAZEM PARTE DO CODIGO DE BARRA DO CABEÇALHO DA NF-e E SE EXISTE UM COMPONENTE GRÁTIS?

                                                                            ENVIE COMENTARIO PARA MEU EMAIL, GRATO…

                                                                            • At 2010.01.11 10:48, admin said:

                                                                              Olá Joaquim,

                                                                              Procure aqui no Blog por “chave de acesso da NF-e”. Tem uma matéria que explica passo a passo como gerar esse codigo.

                                                                              Sds

                                                                              • At 2010.03.11 21:56, Jose Rodrigues said:

                                                                                Oi Caio !

                                                                                Recebi por email um arquivo de um fornecedor com extensão .xml, e não consigo ver a Nota fiscal. Analisando outros fornecedores que já me mandaram NFe vi que eles me enviaram junto um correspondente em PDF que eu consigo imprimir e ler como uma NF.
                                                                                Como posso criar o .pdf apartir da .XML, ja tentei varios conversores mas só reproduzem a sopa de letrinhas…
                                                                                Obrigado por qualquer dica.

                                                                                • At 2010.03.12 00:51, admin said:

                                                                                  Olá Jose Rodrigues,

                                                                                  Repare que o arquivo .PDF é uma cópia fiel do DANFE e, normalmente é gerado a partir do mesmo componente que gera o DANFE; com o Delphi têm-se utilizado o RAVE Reports para gerar o DANFE e em seguida exportando-o para o formato .PDF.

                                                                                  A conversão do XML para PDF pode ser realizada usando a XSL que é uma linguagem aplicada especificamente na conversão de arquivos XML para outros formatos; bem como: HTML, PDF, TXT, etc. Existe uma sintaxe da XSL denominada XSL-FO que permite fazer isso e, pode ser feito “na unha”; mas não é tarefa muito fácil fazer manualmente. Para isso existem alguns softwares de conversão que podem auxiliar no processo.

                                                                                  O Java tem um processador denominado FOP que permite fazer essa conversão com facilidade. Caso interesse, obtenha mais informações sobre FOP no link abaixo:
                                                                                  http://xmlgraphics.apache.org/fop/#demo . Existem outros projetos; bem como: XF Designer, Altova Stylevision, Stylus Studio, etc.

                                                                                  Espero ter ajudado.

                                                                                  • At 2010.04.06 11:51, Werner dos Santos said:

                                                                                    Leio varios XML , mas este não esta lendo, abaixo parte do xml que tem a diferença (houve uma atualização no SEFAZ de Mato Grosso):

                                                                                    Este não le ==========================

                                                                                    -
                                                                                    -
                                                                                    -
                                                                                    50

                                                                                    Este lê =========================

                                                                                    -
                                                                                    -
                                                                                    -
                                                                                    -
                                                                                    50
                                                                                    ==============================

                                                                                    Dá erro quando ele tenta ler o id, abaixo parte de meu programa:
                                                                                    Begin
                                                                                    // Cria a variável baseada no TXMLDocument
                                                                                    vXMLDoc := TXMLDocument.Create(self);
                                                                                    // Le conteúdo do arquivo XML informado
                                                                                    vXMLDoc.LoadFromFile(Arquivo);
                                                                                    // Aqui inicio a leitura
                                                                                    NodePai := vXMLDoc.DocumentElement.childNodes.First.ChildNodes.FindNode(‘infNFe’);
                                                                                    Id := NodePai.GetAttributeNS(‘Id’,”);
                                                                                    NodePai.ChildNodes.First;
                                                                                    /////If NodePai.ChildValues['ide']
                                                                                    // Esse nó vai ser usado no LOOP
                                                                                    cTexto2 := ”;
                                                                                    cTexto := NodePai.NodeName ;
                                                                                    NodeSec := NodePai.ChildNodes['ide'];
                                                                                    // Posiciona o primeiro elemento encontrado
                                                                                    cTexto := NodeSec.ChildNodes['cUF'].Text ;
                                                                                    NUMDOC := NodeSec.ChildNodes['nNF'].Text ;
                                                                                    SERIE := NodeSec.ChildNodes['serie'].Text ;
                                                                                    CFOP := NodeSec.ChildNodes['natOp'].Text ;
                                                                                    cTexto := NodeSec.ChildNodes['serie'].Text ;
                                                                                    ———————————————
                                                                                    Observação :
                                                                                    Não inclui esta tag pois sempre funcionou sem ela.
                                                                                    NodePrim := vXMLDoc.DocumentElement.ChildNodes.FindNode(‘NFe’);

                                                                                    Obrigado pela atenção.

                                                                                    • At 2010.04.06 11:55, Werner dos Santos said:

                                                                                      ========== Este nao Lê

                                                                                      50
                                                                                      Parte do item anterior

                                                                                      =========== Este Lê

                                                                                      50

                                                                                      • At 2010.05.05 19:01, Pedro said:

                                                                                        Olá caio, parabéns pelo site, quando vou carregar a linha
                                                                                        NodeProt := XmlProtocolo.DocumentElement.ChildNodes.FindNode(‘protNFe’);
                                                                                        está dando invalid pointer operation, será que o nivel do nodo está fora.

                                                                                        • At 2010.05.18 09:28, Carlos Gonçalves said:

                                                                                          Parabéns Caio pela iniciativa,
                                                                                          Seu comprometimento em ajudar ao próximo, é digno de um grande ser humano.
                                                                                          Sou um dos que se beneficiaram com seu post.
                                                                                          Continue sempre assim.

                                                                                          Conhecimento é um dos poucos que podemos compartilhar, sem deduzí-lo.

                                                                                          • At 2010.06.28 12:32, Silvano said:

                                                                                            Pelo que você informou que o Delphi para gerar o Danfe é através do Rave, eu pergunto, você sabe se tem como fazer através do Crystal? Utilizo o Delphi 2007.

                                                                                            • At 2010.09.15 12:33, Ronair de Moura França said:

                                                                                              Muito Bom este código. Ajudou muito. Parabens

                                                                                              • At 2010.10.05 14:21, Alexandre Amorim said:

                                                                                                Boa tarde!
                                                                                                Galera não sei se estão passando pelo mesmo problema que eu ou se já tiveram a solução.
                                                                                                Estou incluindo perfeitamente o nfeProc no meu xml.
                                                                                                O único problema é que ao visualizar esse xml pelo Visualizador NFeCTe 5.0b ele fala que a estrutura é valida, mas não consigo ver a assinatura do digital.
                                                                                                Sei que isso acontece quando vc altera qualquer coisa apos a assinatura do xml blz, mas como vou fazer se tenho que alterar para colocar o nfeProc?
                                                                                                Assinar novamente?
                                                                                                Por que quando visualizo o arquivo sem incluir o nfeProc vai tudo certinho ele verifica a assinatura, verifica a situação.
                                                                                                Alguém tem alguma noção do que fazer?
                                                                                                Sendo que já peguei XML de fornecedores com a tag nfeProc e ele faz todos os processos no Visualizador NFeCTe 5.0b (Verifica a assinatura e a situação)

                                                                                                • At 2011.03.03 15:57, shennamo said:

                                                                                                  Ola.
                                                                                                  vc teria algum exemplo da XML NFE 2.0 ?
                                                                                                  Nao entendo nada de XML este material esta otimo.

                                                                                                  Obrigado

                                                                                                  Marcelo

                                                                                                  • At 2011.03.03 16:43, admin said:

                                                                                                    Enviei no seu e-mail….

                                                                                                    • At 2011.03.31 15:17, Queila said:

                                                                                                      Olá Caio,

                                                                                                      Temos já o TXT na versão 2.0, e desenvolvemos o XML, mas não conseguimos a validação completa devido a parte da assinatura/certificado.

                                                                                                      Elaborei esta parte como o manual menciona, mas não compreendi que informações devemos preencher nos campos DigestValue, SignatureValue e X509Certificate.

                                                                                                      Sei que deverão estar criptografados, mas o que estes campos deverão conter?

                                                                                                      Agradeço antecipadamente!!!

                                                                                                      Queila

                                                                                                      • 5 old comments are not displayed. Click to display all comments

                                                                                                      You must be logged in to post a comment.