PROCESSAMENTO - SERIALIZACAO PARA XML
=====================================
Populando fonte de dados
------------------------
>>> import datetime
>>> from pynfe.entidades import Emitente, Cliente, NotaFiscal, Produto,\
... Transportadora
>>> from pynfe.entidades.fontes_dados import _fonte_dados
>>> from pynfe.utils.flags import CODIGO_BRASIL
Popula dependentes da NF
>>> emitente = Emitente(
... cnpj='12.345.678/0001-90',
... razao_social='Tarsila Calcados Ltda.',
... nome_fantasia='Tarsila Calcados Ltda.',
... inscricao_estadual='123456789012',
... endereco_logradouro='Rua 10',
... endereco_numero='15',
... endereco_complemento='qd 17, lt 10',
... endereco_bairro='Setor Oeste',
... endereco_municipio='5208806', # Goiania
... endereco_uf='GO',
... endereco_cep='75370-000',
... endereco_telefone='6242421212',
... )
>>> cliente = Cliente(
... razao_social='Jose Felipe da Silva',
... tipo_documento='CPF',
... numero_documento='123.456.789-01',
... inscricao_estadual='9876543210',
... endereco_logradouro='AV DAS ROSAS',
... endereco_numero='1777',
... endereco_complemento='10 ANDAR',
... endereco_bairro='PARQUE FONTES',
... endereco_municipio='3304557', # Rio de Janeiro
... endereco_uf='RJ',
... endereco_pais=CODIGO_BRASIL,
... endereco_cep='23950-000',
... endereco_telefone='2132011234',
... )
>>> produto1 = Produto(codigo=1, descricao='Tenis Adidas Cinza')
>>> produto2 = Produto(codigo=2, descricao='Sapato Ferracini Preto')
>>> transportadora = Transportadora(
... razao_social='WS Cargas S/A',
... tipo_documento='CNPJ',
... numero_documento='123.123.123/0001-12',
... inscricao_estadual='171999999119',
... endereco_logradouro='Rua Central 100 - Fundos - Distrito Industrial',
... endereco_municipio='3304557', # Rio de Janeiro
... endereco_uf='RJ',
... )
Instancia a NF
>>> nota_fiscal = NotaFiscal(
... emitente=emitente,
... transporte_transportadora=transportadora,
... modelo=55,
... serie='1',
... numero_nf='1',
... data_emissao=datetime.date.today(),
... natureza_operacao='Venda no Varejo',
... )
>>> _fonte_dados.contar_objetos()
6
Gerar arquivos XML
------------------
>>> import os
>>> CUR_DIR = '.'
>>> CAMINHO_SAIDA = os.path.join(CUR_DIR, 'tests', 'saida')
>>> from pynfe.processamento.serializacao import SerializacaoXML
>>> serializador = SerializacaoXML(_fonte_dados)
Serializando por partes
>>> print serializador._serializar_emitente(emitente)
12345678000190
Tarsila Calcados Ltda.
Tarsila Calcados Ltda.
123456789012
Rua 10
15
qd 17, lt 10
Setor Oeste
5208806
Goianira
GO
75370000
1058
Brasil
6242421212
>>> print serializador._serializar_cliente(cliente)
12345678901
Jose Felipe da Silva
9876543210
AV DAS ROSAS
1777
10 ANDAR
PARQUE FONTES
3304557
Rio de Janeiro
RJ
23950000
1058
Brasil
2132011234
>>> print serializador._serializar_transportadora(transportadora)
123123123000112
WS Cargas S/A
171999999119
Rua Central 100 - Fundos - Distrito Industrial
3304557
Rio de Janeiro
RJ
- Gera os arquivos XML a partir dos dados das instancias da NF-e
- Quando gerados me lote, apenas o primeiro arquivo deve ter o cabecalho
padrao do XML 1.0
-
- Namespace
-
- A declaração do namespace da assinatura digital deverá ser realizada na
própria tag , conforme exemplo abaixo.
- Cada documento XML deverá ter o seu namespace individual em seu elemento raiz.