From 398e81b5f23ce139c2cdd24dc7cf14cd35a484e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marinho=20Brand=C3=A3o?= Date: Mon, 11 Jan 2010 16:13:53 -0200 Subject: [PATCH] Trabalhando nos campos das entidades (iniciada entidade Nota Fiscal) --- pynfe/entidades/cliente.py | 6 +----- pynfe/entidades/notafiscal.py | 27 +++++++++++++++++++++++++ pynfe/entidades/produto.py | 28 +------------------------- pynfe/entidades/transportadora.py | 26 +++++++++++++++++++++++- pynfe/utils/flags.py | 37 ++++++++++++++++++++++++++++++++--- tests/02-modelo-04-transportadora.txt | 30 ++++++++++++++++++++++++++++ tests/02-modelo-05-notafiscal.txt | 10 ++++++---- 7 files changed, 124 insertions(+), 40 deletions(-) diff --git a/pynfe/entidades/cliente.py b/pynfe/entidades/cliente.py index e1d6535..03d6ec3 100644 --- a/pynfe/entidades/cliente.py +++ b/pynfe/entidades/cliente.py @@ -1,10 +1,6 @@ # -*- coding: utf-8 -*- from base import Entidade - -TIPOS_DOCUMENTO = ( - 'CNPJ', - 'CPF', -) +from pynfe.utils.flags import TIPOS_DOCUMENTO class Cliente(Entidade): # Dados do Cliente diff --git a/pynfe/entidades/notafiscal.py b/pynfe/entidades/notafiscal.py index 7a04c15..dbeaad9 100644 --- a/pynfe/entidades/notafiscal.py +++ b/pynfe/entidades/notafiscal.py @@ -3,3 +3,30 @@ from base import Entidade class NotaFiscal(Entidade): pass +class NotaFiscalReferenciada(Entidade): + pass + +class NotaFiscalProduto(Entidade): + pass + +class NotaFiscalDeclaracaoImportacao(Entidade): + pass + +class NotaFiscalDeclaracaoImportacaoAdicao(Entidade): + pass + +class NotaFiscalTransporteVolume(Entidade): + pass + +class NotaFiscalTransporteVolumeLacre(Entidade): + pass + +class NotaFiscalCobrancaDuplicata(Entidade): + pass + +class NotaFiscalObservacaoContribuinte(Entidade): + pass + +class NotaFiscalProcessoReferenciado(Entidade): + pass + diff --git a/pynfe/entidades/produto.py b/pynfe/entidades/produto.py index 08155de..b405da9 100644 --- a/pynfe/entidades/produto.py +++ b/pynfe/entidades/produto.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- from base import Entidade +from pynfe.utils.flags import ICMS_TIPOS_TRIBUTACAO, ICMS_ORIGENS, ICMS_MODALIDADES from decimal import Decimal @@ -62,33 +63,6 @@ class Produto(Entidade): u"""Adiciona uma instancia de ICMS a lista de ICMS do produto""" self.icms.append(ProdutoICMS(**kwargs)) -ICMS_TIPOS_TRIBUTACAO = ( - ('00', 'ICMS 00 - Tributada integralmente'), - ('10', 'ICMS 10 - Tributada com cobranca do ICMS por substituicao tributaria'), - ('20', 'ICMS 20 - Com reducao da base de calculo'), - ('30', 'ICMS 30 - Isenta ou nao tributada e com cobranca do ICMS por substituicao tributaria'), - ('40', 'ICMS 40 - Isenta'), - ('41', 'ICMS 41 - Nao tributada'), - ('50', 'ICMS 50 - Suspensao'), - ('51', 'ICMS 51 - Diferimento'), - ('60', 'ICMS 60 - Cobrado anteriormente por substituicao tributaria'), - ('70', 'ICMS 70 - Com reducao da base de calculo e cobranca do ICMS por substituicao tributaria'), - ('90', 'ICMS 90 - Outras'), -) - -ICMS_ORIGENS = ( - 'Nacional', - 'Estrangeira - Importacao Direta', - 'Estrangeira - Adquirida no Mercado Interno', -) - -ICMS_MODALIDADES = ( - 'Margem Valor Agregado', - 'Pauta (valor)', - 'Preco Tabelado Max. (valor)', - 'Valor da Operacao', -) - class ProdutoICMS(Entidade): # - Tipo de Tributacao (seleciona de lista) - ICMS_TIPOS_TRIBUTACAO tipo_tributacao = str() diff --git a/pynfe/entidades/transportadora.py b/pynfe/entidades/transportadora.py index 36a27d8..c329a49 100644 --- a/pynfe/entidades/transportadora.py +++ b/pynfe/entidades/transportadora.py @@ -1,5 +1,29 @@ +# -*- coding: utf-8 -*- from base import Entidade +from pynfe.utils.flags import TIPOS_DOCUMENTO class Transportadora(Entidade): - pass + + # Dados da Transportadora + # - Nome/Razão Social (obrigatorio) + razao_social = str() + + # - Tipo de Documento (obrigatorio) - default CNPJ + tipo_documento = 'CNPJ' + + # - Numero do Documento (obrigatorio) + numero_documento = str() + + # - Inscricao Estadual + inscricao_estadual = str() + + # Endereco + # - Logradouro (obrigatorio) + endereco_logradouro = str() + + # - UF (obrigatorio) + endereco_uf = str() + + # - Municipio (obrigatorio) + endereco_municipio = str() diff --git a/pynfe/utils/flags.py b/pynfe/utils/flags.py index 16429f5..2623d6e 100644 --- a/pynfe/utils/flags.py +++ b/pynfe/utils/flags.py @@ -1,3 +1,34 @@ -__version__ = '0.1' -__author__ = 'Marinho Brandao' -__license__ = 'Lesser Gnu Public License' +# -*- coding: utf-8 -*- + +TIPOS_DOCUMENTO = ( + 'CNPJ', + 'CPF', +) + +ICMS_TIPOS_TRIBUTACAO = ( + ('00', 'ICMS 00 - Tributada integralmente'), + ('10', 'ICMS 10 - Tributada com cobranca do ICMS por substituicao tributaria'), + ('20', 'ICMS 20 - Com reducao da base de calculo'), + ('30', 'ICMS 30 - Isenta ou nao tributada e com cobranca do ICMS por substituicao tributaria'), + ('40', 'ICMS 40 - Isenta'), + ('41', 'ICMS 41 - Nao tributada'), + ('50', 'ICMS 50 - Suspensao'), + ('51', 'ICMS 51 - Diferimento'), + ('60', 'ICMS 60 - Cobrado anteriormente por substituicao tributaria'), + ('70', 'ICMS 70 - Com reducao da base de calculo e cobranca do ICMS por substituicao tributaria'), + ('90', 'ICMS 90 - Outras'), +) + +ICMS_ORIGENS = ( + 'Nacional', + 'Estrangeira - Importacao Direta', + 'Estrangeira - Adquirida no Mercado Interno', +) + +ICMS_MODALIDADES = ( + 'Margem Valor Agregado', + 'Pauta (valor)', + 'Preco Tabelado Max. (valor)', + 'Valor da Operacao', +) + diff --git a/tests/02-modelo-04-transportadora.txt b/tests/02-modelo-04-transportadora.txt index 4a024b7..14672d1 100644 --- a/tests/02-modelo-04-transportadora.txt +++ b/tests/02-modelo-04-transportadora.txt @@ -5,15 +5,45 @@ Modelo das entidades e como elas se relacionam. Nenhum dos campos deve permitir acentos e/ou cedilhas. + >>> from pynfe.entidades import Transportadora + - Dados da Transportadora - Nome/Razão Social (obrigatorio) + + >>> hasattr(Transportadora, 'razao_social') + True + - Tipo de Documento (obrigatorio) - default CNPJ - CNPJ - CPF + + >>> hasattr(Transportadora, 'tipo_documento') + True + - Numero do Documento (obrigatorio) + + >>> hasattr(Transportadora, 'numero_documento') + True + - Inscricao Estadual + + >>> hasattr(Transportadora, 'inscricao_estadual') + True + - Endereco - Logradouro (obrigatorio) + + >>> hasattr(Transportadora, 'endereco_logradouro') + True + - UF (obrigatorio) + + >>> hasattr(Transportadora, 'endereco_uf') + True + - Municipio (obrigatorio) + >>> hasattr(Transportadora, 'endereco_municipio') + True + + diff --git a/tests/02-modelo-05-notafiscal.txt b/tests/02-modelo-05-notafiscal.txt index 4f80598..f6bd6b4 100644 --- a/tests/02-modelo-05-notafiscal.txt +++ b/tests/02-modelo-05-notafiscal.txt @@ -5,10 +5,12 @@ Modelo das entidades e como elas se relacionam. Nenhum dos campos deve permitir acentos e/ou cedilhas. -Nota Fiscal ------------ - -Digitacao/Lancamento de NF + >>> from pynfe.entidades import NotaFiscal + >>> from pynfe.entidades.notafiscal import NotaFiscalReferenciada,\ + ... NotaFiscalProduto, NotaFiscalDeclaracaoImportacao,\ + ... NotaFiscalDeclaracaoImportacaoAdicao, NotaFiscalTransporteVolume,\ + ... NotaFiscalTransporteVolumeLacre, NotaFiscalCobrancaDuplicata,\ + ... NotaFiscalObservacaoContribuinte, NotaFiscalProcessoReferenciado - Dados da NF-e - Status (controle de estados da NF)