Browse Source

Informaçoes do destinatário.

pull/1/head
Junior Tada 10 years ago
parent
commit
b9f3dfd3fa
  1. 17
      README
  2. 5
      pynfe/processamento/serializacao.py

17
README

@ -48,24 +48,17 @@ Referências
- Validao de XML via XSD no lxml
- http://codespeak.net/lxml/validation.html#xmlschema
- Geracao de codigos de barra Code128 no Python
- http://barcode128.blogspot.com/2007/03/code128py.html
- Descricao do Code128 na Wikipedia
- http://en.wikipedia.org/wiki/Code_128
- Documentação do módulo de geração de Code128 no ReportLab
- http://www.reportlab.com/apis/reportlab/reportlab.graphics.barcode.code128-module.html
- Thread da lista pyhton-brasil sobre streching do codigo de barras
- http://br.groups.yahoo.com/group/python-brasil/message/41299
- Lista de codigos para campo EX TIPI
- http://www.fisconet.com.br/ipi/tipi/04.htm
- Certificado para testes
- http://nf-eletronica.com/blog/?p=133
- Instalação
- Ubuntu
sudo pip3 install https://github.com/leotada/PyNFe/archive/master.zip
- Exemplo de uso
- Consulta Status

5
pynfe/processamento/serializacao.py

@ -18,6 +18,7 @@ class Serializacao(object):
_fonte_dados = None
_ambiente = 1 # 1 = Produção, 2 = Homologação
_contingencia = None # Justificativa da entrada em contingência (min 20, max 256 caracteres)
_so_cpf = False # Destinatário com apenas o cpf do cliente
_nome_aplicacao = 'PyNFe'
def __new__(cls, *args, **kwargs):
@ -26,10 +27,11 @@ class Serializacao(object):
else:
return super(Serializacao, cls).__new__(cls)
def __init__(self, fonte_dados, homologacao=False, contingencia=None):
def __init__(self, fonte_dados, homologacao=False, contingencia=None, so_cpf=False):
self._fonte_dados = fonte_dados
self._ambiente = homologacao and 2 or 1
self._contingencia = contingencia
self._so_cpf = so_cpf
def exportar(self, destino, **kwargs):
"""Gera o(s) arquivo(s) de exportacao a partir da Nofa Fiscal eletronica
@ -110,6 +112,7 @@ class SerializacaoXML(Serializacao):
# Dados do cliente (distinatario)
etree.SubElement(raiz, cliente.tipo_documento).text = so_numeros(cliente.numero_documento)
etree.SubElement(raiz, 'xNome').text = cliente.razao_social
if not self._so_cpf:
endereco = etree.SubElement(raiz, 'enderDest')
etree.SubElement(endereco, 'xLgr').text = cliente.endereco_logradouro
etree.SubElement(endereco, 'nro').text = cliente.endereco_numero

Loading…
Cancel
Save