Browse Source

Serializador para clientes

tags/0.1
Sergio Oliveira 13 years ago
parent
commit
cef8d5b236
  1. 35
      pynfe/processamento/serializacao.py
  2. 1
      test.py

35
pynfe/processamento/serializacao.py

@ -13,7 +13,7 @@ class Serializacao(object):
"""Classe abstrata responsavel por fornecer as funcionalidades basicas para """Classe abstrata responsavel por fornecer as funcionalidades basicas para
exportacao e importacao de Notas Fiscais eletronicas para formatos serializados exportacao e importacao de Notas Fiscais eletronicas para formatos serializados
de arquivos. Como XML, JSON, binario, etc. de arquivos. Como XML, JSON, binario, etc.
Nao deve ser instanciada diretamente!""" Nao deve ser instanciada diretamente!"""
_fonte_dados = None _fonte_dados = None
@ -296,7 +296,7 @@ class SerializacaoXML(Serializacao):
# Transporte # Transporte
transp = etree.SubElement(raiz, 'transp') transp = etree.SubElement(raiz, 'transp')
etree.SubElement(transp, 'modFrete').text = str(nota_fiscal.transporte_modalidade_frete) etree.SubElement(transp, 'modFrete').text = str(nota_fiscal.transporte_modalidade_frete)
# Transportadora # Transportadora
transp.append(self._serializar_transportadora( transp.append(self._serializar_transportadora(
nota_fiscal.transporte_transportadora, nota_fiscal.transporte_transportadora,
@ -386,4 +386,33 @@ class SerializacaoPipes(Serializacao):
return '|'.join(serial_emitente_list) return '|'.join(serial_emitente_list)
def _serializar_cliente(self, cliente): def _serializar_cliente(self, cliente):
pass
cod_municipio, municipio = obter_municipio_e_codigo(
cliente.endereco_municipio,
cliente.endereco_uf
)
serial_data = [
'E',
cliente.razao_social,
cliente.inscricao_estadual,
cliente.inscricao_suframa,
cliente.email,
'\nE02' if cliente.tipo_documento == 'CNPJ' else '\nE03',
cliente.numero_documento,
'\nE05',
cliente.endereco_logradouro,
cliente.endereco_numero,
cliente.endereco_complemento,
cliente.endereco_bairro,
cod_municipio,
municipio,
cliente.endereco_uf,
cliente.endereco_cep,
cliente.endereco_pais,
obter_pais_por_codigo(cliente.endereco_pais),
cliente.endereco_telefone,
'\n',
]
return '|'.join(serial_data)

1
test.py

@ -42,6 +42,7 @@ cliente = Cliente(
endereco_pais=CODIGO_BRASIL, endereco_pais=CODIGO_BRASIL,
endereco_telefone='11912341234', endereco_telefone='11912341234',
) )
print serializador._serializar_cliente(cliente)
nota_fiscal = NotaFiscal( nota_fiscal = NotaFiscal(
emitente=emitente, emitente=emitente,

Loading…
Cancel
Save