Desenvolvimento NFS-e
Desenvolvimento NFS-e

Site destinado a desenvolvedores de softwares na integração com a NFS-e.
 
InícioInício  CalendárioCalendário  FAQFAQ  BuscarBuscar  GruposGrupos  Registrar-seRegistrar-se  Conectar-se  

Compartilhe | 
 

 NFSe - varias notas no xml

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Rogério Américo



Mensagens : 2
Data de inscrição : 27/02/2014

MensagemAssunto: NFSe - varias notas no xml   Qui Fev 27, 2014 8:18 am

Ola!
Eu consegui gerar este exemplo. (Código Abaixo)
O arquivo gerado pelo exemplo foi lido pelo site da Ginfes e gerado NFSe com sucesso.

O meu problema é:
Como colocar neste código varias notas fiscais.

Obs.: Eu até consegui colocar o loop, mas a linha - <Rps>
não fecha para a próxima NFSe.
Ou seja quando aplico o loop a linha deveria começar - <Rps>
e terminar com </Rps>.

Obrigado.

CÓDIGO...
procedure TForm1.Button1Click(Sender: TObject);
var
NodeNivelA, NodeNivelB, NodeNivelC, NodeNivelD, NodeNivelE, NodeNivelF,
  NodeNivelG, NodeNivelH, NodeNivelI, NodeNivelJ: IXMLNode;
vXMLDoc: TXMLDocument;
nItens: integer;
begin
vXMLDoc := TXMLDocument.Create(self);
Try
  With vXMLDoc do
  begin
    Active := True;
    Version := '1.0';
    Encoding := 'UTF-8';
    AddChild('EnviarLoteRpsEnvio','');
    DocumentElement.Attributes['xmlns:tip'] := '';

    // Dados da NFSe
    NodeNivelA := DocumentElement;
    NodeNivelA.ChildValues['NumeroLote'] := '1';
    NodeNivelA.ChildValues['Cnpj'] := '11111111111111';
    NodeNivelA.ChildValues['InscricaoMunicipal'] := '2222222';
    NodeNivelA.ChildValues['QuantidadeRps'] := '1';

    NodeNivelA := NodeNivelA.ChildNodes['ListaRps'];

    For nItens := 1 to 2 do
    begin
      NodeNivelA := NodeNivelA.ChildNodes['Rps'];
      NodeNivelB := NodeNivelA.ChildNodes['tip:IdentificacaoRps'];
      NodeNivelB.ChildValues['Numero'] := '1';
      NodeNivelB.ChildValues['Serie'] := 'NFSe';
      NodeNivelB.ChildValues['Tipo'] := '1';
      NodeNivelA.ChildValues['tip:DataEmissao'] := '2014-02-26T09:58:52';
      NodeNivelA.ChildValues['tip:NaturezaOperacao'] := '1';
      NodeNivelA.ChildValues['tip:RegimeEspecialTributacao'] := '1';
      NodeNivelA.ChildValues['tip:OptanteSimplesNacional'] := '1';
      NodeNivelA.ChildValues['tip:IncentivadorCultural'] := '2';
      NodeNivelA.ChildValues['tip:Status'] := '1';

      // Serviço e Valores
      NodeNivelC := NodeNivelA.ChildNodes['tip:Servico'];
      NodeNivelD := NodeNivelC.ChildNodes['tip:Valores'];
      NodeNivelD.ChildValues['tip:ValorServicos'] := '10.00';
      NodeNivelD.ChildValues['tip:IssRetido'] := '2';
      NodeNivelD.ChildValues['tip:ValorIss'] := '0.00';
      NodeNivelD.ChildValues['tip:BaseCalculo'] := '10.00';
      NodeNivelD.ChildValues['tip:Aliquota'] := '0.0350';
      NodeNivelD.ChildValues['tip:ValorLiquidoNfse'] := '10.00';
      NodeNivelC.ChildValues['tip:ItemListaServico'] := '1401';
      NodeNivelC.ChildValues['tip:CodigoTributacaoMunicipio'] := '14.01.00';
      NodeNivelC.ChildValues['tip:Discriminacao'] := 'Teste NFSe';
      NodeNivelC.ChildValues['tip:MunicipioPrestacaoServico'] := '3543402';

      // Prestador
      NodeNivelE := NodeNivelA.ChildNodes['tip:Prestador'];
      NodeNivelE.ChildValues['tip:Cnpj'] := '11111111111111';
      NodeNivelE.ChildValues['tip:InscricaoMunicipal'] := '2222222';

      // Tomador
      NodeNivelF := NodeNivelA.ChildNodes['tip:Tomador'];
      NodeNivelG := NodeNivelF.ChildNodes['tip:IdentificacaoTomador'];
      NodeNivelH := NodeNivelG.ChildNodes['tip:CpfCnpj'];
      NodeNivelH.ChildValues['tip:Cpf'] := '33333333333';
      NodeNivelF.ChildValues['tip:RazaoSocial'] := 'MIRIANE NUNES DA SILVA';

      // Tomador Endereço
      NodeNivelI := NodeNivelF.ChildNodes['tip:Endereco'];
      NodeNivelI.ChildValues['tip:Endereco'] := 'RUA SAO CRISTOVAO DA LAGUNA';
      NodeNivelI.ChildValues['tip:Numero'] := '513';
      NodeNivelI.ChildValues['tip:Bairro'] := 'ANCHIETA';
      NodeNivelI.ChildValues['tip:Cidade'] := '3549805';
      NodeNivelI.ChildValues['tip:Estado'] := 'SP';
      NodeNivelI.ChildValues['tip:Cep'] := '15100000';

      // Tomador Contato
      NodeNivelJ := NodeNivelF.ChildNodes['tip:Contato'];
      NodeNivelJ.ChildValues['tip:Telefone'] := '4444444444';
      NodeNivelJ.ChildValues['tip:Email'] := '';
    end;

    vXMLDoc.SaveToFile('EnviNFSe.xml');
    WebBrowser1.Navigate(ExtractFileDir(application.ExeName) +
      '\EnviNFSe.xml');
  end;
finally
  vXMLDoc.Free;
end;
end;
Voltar ao Topo Ir em baixo
Rogério Américo



Mensagens : 2
Data de inscrição : 27/02/2014

MensagemAssunto: Consegui resolver   Sex Fev 28, 2014 9:17 am

Consegui resolver.

procedure TForm1.Button2Click(Sender: TObject);
var
arq: tstringlist;
nItens: integer;
begin
arq := tstringlist.Create;
arq.ADD('<?xml version="1.0"?>');
arq.ADD('<EnviarLoteRpsEnvio xmlns=" " xmlns:tip=" ">');
arq.ADD('<NumeroLote>1</NumeroLote>');
arq.ADD('<Cnpj>11111111111111</Cnpj>');
arq.ADD('<InscricaoMunicipal>222222222</InscricaoMunicipal>');
arq.ADD('<QuantidadeRps>1</QuantidadeRps>');
arq.ADD('<ListaRps>');
For nItens := 1 to 2 do
begin
arq.ADD('<Rps>');
arq.ADD('<tip:IdentificacaoRps>');
arq.ADD('<tip:Numero>153</tip:Numero>');
arq.ADD('<tip:Serie>NFSe</tip:Serie>');
arq.ADD('</tip:IdentificacaoRps>');
arq.ADD('</Rps>');
end;
arq.ADD('</ListaRps>');
arq.ADD('</EnviarLoteRpsEnvio>');
arq.SaveToFile('NFSeEnvia.xml');
Voltar ao Topo Ir em baixo
 
NFSe - varias notas no xml
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Rip de Varias imagens (Pixel Art)
» Como copiar as regras para bloco de notas
» Varias skins/temas no frum
» Como colocar varias imagens no perfil, como emblemas
» Formatação do Bloco de Notas do Portal

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Desenvolvimento NFS-e  :: Arquivo XML-
Ir para: