Skip to content

Commit

Permalink
Merge pull request #21 from Trust-Code/10.0-CCe
Browse files Browse the repository at this point in the history
10.0 Carta de Correção Eletronica
  • Loading branch information
danimaribeiro committed Dec 19, 2016
2 parents ca39c75 + 2ea67f3 commit b430a62
Show file tree
Hide file tree
Showing 15 changed files with 540 additions and 4 deletions.
2 changes: 1 addition & 1 deletion br_account/views/account_invoice_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@
<field name="cfop_id"/>
<field name="fiscal_classification_id" />
<field domain="[('user_type_id', '&lt;&gt;', 'view')]" name="account_id" groups="account.group_account_user"/>
<field domain="[('type','&lt;&gt;','view'), ('company_id', '=', parent.company_id)]" name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
<field domain="[('company_id', '=', parent.company_id)]" name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
<field name="company_id" groups="base.group_multi_company" readonly="1"/>
<field name="invoice_line_tax_ids" invisible="1" />
<field name="tax_simples_id" attrs="{'invisible': [('company_fiscal_type', '==', '3')] }" />
Expand Down
1 change: 1 addition & 0 deletions br_nfe/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
'reports/br_nfe_reports.xml',
'reports/danfe_report.xml',
'wizard/cancel_nfe.xml',
'wizard/carta_correcao_eletronica.xml',
],
'instalable': True,
'application': True,
Expand Down
1 change: 1 addition & 0 deletions br_nfe/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from . import account_fiscal_position
from . import account_invoice
from . import nfe
from . import carta_correcao_eletronica
from . import invoice_eletronic
from . import res_company
from . import res_partner
Expand Down
21 changes: 21 additions & 0 deletions br_nfe/models/carta_correcao_eletronica.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# © 2016 Alessandro Fernandes Martini <alessandrofmartini@gmail.com>, Trustcode
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from odoo import fields, models


class CartaCorrecaoEletronicaEvento(models.Model):
_name = 'carta.correcao.eletronica.evento'

eletronic_doc_id = fields.Many2one(
'invoice.eletronic', string="Documento Eletrônico")

# Fields CCe
id_cce = fields.Char(string="ID", size=60)
datahora_evento = fields.Datetime(string="Data do Evento")
tipo_evento = fields.Char(string="Código do Evento")
sequencial_evento = fields.Integer(string="Sequencial do Evento")
correcao = fields.Text(string="Correção", max_length=1000)
message = fields.Char(string="Mensagem", size=300)
protocolo = fields.Char(string="Protocolo", size=30)
20 changes: 19 additions & 1 deletion br_nfe/models/invoice_eletronic.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from pytrustnfe.certificado import Certificado
from pytrustnfe.utils import ChaveNFe, gerar_chave
except ImportError:
_logger.debug('Cannot import pytrustnfe')
_logger.debug('Cannot import pytrustnfe', exc_info=True)

STATE = {'edit': [('readonly', False)]}

Expand All @@ -33,6 +33,17 @@ def _format_danfe_key(self):
item.chave_nfe_danfe = re.sub("(.{4})", "\\1.",
item.chave_nfe, 10, re.DOTALL)

@api.multi
def generate_correction_letter(self):
return {
"type": "ir.actions.act_window",
"res_model": "wizard.carta.correcao.eletronica",
"views": [[False, "form"]],
"name": "Carta de Correção",
"target": "new",
"context": {'default_eletronic_doc_id': self.id},
}

ambiente_nfe = fields.Selection(
string="Ambiente NFe", related="company_id.tipo_ambiente")
ind_final = fields.Selection([
Expand Down Expand Up @@ -142,6 +153,11 @@ def _format_danfe_key(self):
help=u'Total total do ICMS relativo Fundo de Combate à Pobreza (FCP) \
da UF de destino')

# CARTA DE CORRECAO
cartas_correcao_ids = fields.One2many(
'carta.correcao.eletronica.evento', 'eletronic_doc_id',
string="Cartas de Correção", readonly=True, states=STATE)

def barcode_url(self):
url = '<img style="width:470px;height:50px;margin-top:5px;"\
src="/report/barcode/Code128/' + self.chave_nfe + '" />'
Expand Down Expand Up @@ -486,6 +502,8 @@ def _prepare_lote(self, lote, nfe_values):
@api.multi
def action_post_validate(self):
super(InvoiceEletronic, self).action_post_validate()
if self.model not in ('55', '65'):
return
for item in self:
chave_dict = {
'cnpj': re.sub('[^0-9]', '', item.company_id.cnpj_cpf),
Expand Down
62 changes: 61 additions & 1 deletion br_nfe/reports/danfe_report.xml
Original file line number Diff line number Diff line change
Expand Up @@ -511,7 +511,7 @@
</div>
</div>

<div class="row line">
<div class="row">
<div class="borda-completa col-xs-7 line4">
<span class="small">Informações Complementares</span><br />
<span class="small" t-field="o.informacoes_complementares"></span>
Expand All @@ -521,6 +521,66 @@
<span class="small">Reservado ao Fisco</span><br />
</div>
</div>

<t t-if="len(o.cartas_correcao_ids) > 0">
<p style="page-break-after:always;"></p>
<t t-foreach="o.cartas_correcao_ids" t-as="c">
<div class="row" style="clear:both; margin-top:20px;">
<div class="col-xs-12 text-center">
<span class="enfase">Cartas de Correção</span>
</div>
</div>
<div class="row">
<div class="borda-completa col-xs-4">
<span style="font-size:10px;">RAZÃO SOCIAL DO EMITENTE</span>
</div>
<div class="br bb bt col-xs-8">
<span style="font-size:10px;" t-field="o.company_id.legal_name"></span>
</div>
</div>
<div class="row">
<div class="bl bb br col-xs-4">
<span style="font-size:10px;">CNPJ DO EMITENTE</span>
</div>
<div class="br bb col-xs-8">
<span style="font-size:10px;" t-field="o.company_id.cnpj_cpf"></span>
</div>
</div>
<div class="row">
<div class="bl bb br col-xs-4">
<span style="font-size:10px;">CHAVE DE ACESSO DA NF-E</span>
</div>
<div class="br bb col-xs-8">
<span style="font-size:10px;" t-field="o.chave_nfe"></span>
</div>
</div>
<div class="row">
<div class="bl bb br col-xs-4">
<span style="font-size:10px;">DATA DA CORREÇÃO</span>
</div>
<div class="br bb col-xs-8">
<span style="font-size:10px;" t-field="c.datahora_evento"></span>
</div>
</div>
<div class="row">
<div class="bl bb br col-xs-4">
<span style="font-size:10px;">ID</span>
</div>
<div class="br bb col-xs-8">
<span style="font-size:10px;" t-field="c.id_cce"></span>
</div>
</div>
<div class="row">
<div class="bl bb br col-xs-12 text-center">
<span style="font-size:10px;">CORREÇÃO</span>
</div>
<div class="bl bb br col-xs-12">
<p t-field="c.correcao"></p>
</div>
</div>
</t>
</t>

</div>
</div>
<div class="footer">
Expand Down
3 changes: 3 additions & 0 deletions br_nfe/security/ir.model.access.csv
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ access_nfe_duplicata_accountant,access_nfe_duplicata,model_nfe_duplicata,account
access_nfe_reboque_item_user,access_nfe_reboque,model_nfe_reboque,account.group_account_invoice,1,0,0,0
access_nfe_volume_user,access_nfe_volume,model_nfe_volume,account.group_account_invoice,1,0,0,0
access_nfe_duplicata_user,access_nfe_duplicata,model_nfe_duplicata,account.group_account_invoice,1,0,0,0
access_carta_correcao_eletronica_evento_manager,access_carta_correcao_eletronica_evento,model_carta_correcao_eletronica_evento,,1,1,1,1
access_carta_correcao_eletronica_evento_accountant,access_carta_correcao_eletronica_evento,model_carta_correcao_eletronica_evento,,1,1,1,0
access_carta_correcao_eletronica_evento_user,access_carta_correcao_eletronica_evento,model_carta_correcao_eletronica_evento,,1,1,0,0
1 change: 1 addition & 0 deletions br_nfe/tests/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@


from . import test_nfe
from . import test_carta_correcao

0 comments on commit b430a62

Please sign in to comment.