Skip to content

Commit

Permalink
Merge 522a6bb into d223bd3
Browse files Browse the repository at this point in the history
  • Loading branch information
marinaGD committed Apr 8, 2019
2 parents d223bd3 + 522a6bb commit 4328339
Show file tree
Hide file tree
Showing 8 changed files with 103 additions and 14 deletions.
4 changes: 3 additions & 1 deletion br_account/models/br_account.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,8 +176,10 @@ class ImportDeclaration(models.Model):
_name = 'br_account.import.declaration'

invoice_line_id = fields.Many2one(
'account.invoice.line', u'Linha de Documento Fiscal',
'account.invoice.line',
string='Linha de Documento Fiscal',
ondelete='cascade', index=True)

name = fields.Char(u'Número da DI', size=10, required=True)
date_registration = fields.Date(u'Data de Registro', required=True)
state_id = fields.Many2one(
Expand Down
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 @@ -399,7 +399,7 @@
<field name="ii_aliquota" invisible="1"/>
<field name="ii_valor"/>
</group>
<group string="Declaração de Importação">
<group name="import_declaration" string="Declaração de Importação">
<field name="import_declaration_ids" colspan="4" nolabel="1">
<tree>
<field name="name"/>
Expand Down
28 changes: 21 additions & 7 deletions br_nfe/models/account_invoice.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ def _compute_nfe_number(self):
string=u"Número NFe", compute="_compute_nfe_number")
nfe_exception_number = fields.Integer(
string=u"Número NFe", compute="_compute_nfe_number")
import_declaration_ids = fields.One2many(
'br_account.import.declaration', 'invoice_id')

@api.multi
def action_invoice_draft(self):
Expand Down Expand Up @@ -203,15 +205,19 @@ def _prepare_edoc_item_vals(self, invoice_line):
invoice_line.icms_aliquota_inter_part or 0.0

di_importacao = []
for di in invoice_line.import_declaration_ids:
for di in invoice_line.invoice_id.import_declaration_ids:
adicoes = []
for di_line in di.line_ids:
adicoes_linhas = invoice_line.declaration_line_ids.filtered(
lambda adicao: adicao.import_declaration_id == di)
if not adicoes_linhas:
continue
for adicao in adicoes_linhas:
adicoes.append((0, None, {
'sequence': di_line.sequence,
'name': di_line.name,
'manufacturer_code': di_line.manufacturer_code,
'amount_discount': di_line.amount_discount,
'drawback_number': di_line.drawback_number,
'sequence': adicao.sequence,
'name': adicao.name,
'manufacturer_code': adicao.manufacturer_code,
'amount_discount': adicao.amount_discount,
'drawback_number': adicao.drawback_number,
}))

di_importacao.append((0, None, {
Expand All @@ -231,3 +237,11 @@ def _prepare_edoc_item_vals(self, invoice_line):
vals['import_declaration_ids'] = di_importacao
vals['informacao_adicional'] = invoice_line.informacao_adicional
return vals


class AccountInvoiceLine(models.Model):
_inherit = 'account.invoice.line'

declaration_line_ids = fields.One2many(
'br_account.import.declaration.line',
'invoice_line_id', string='Adições da DI')
2 changes: 1 addition & 1 deletion br_nfe/models/invoice_eletronic_item.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def _compute_cst_danfe(self):

import_declaration_ids = fields.One2many(
'br_account.import.declaration',
'invoice_eletronic_line_id', u'Declaração de Importação')
'invoice_eletronic_line_id', string=u'Declaração de Importação')

# ----------- ICMS INTERESTADUAL -----------
tem_difal = fields.Boolean(string=u'Difal?', readonly=True, states=STATE)
Expand Down
12 changes: 12 additions & 0 deletions br_nfe/models/nfe.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ class ImportDeclaration(models.Model):
'invoice.eletronic.item', u'Linha de Documento Eletrônico',
ondelete='cascade', index=True)

invoice_id = fields.Many2one(
'account.invoice', 'Fatura',
ondelete='cascade', index=True)


class ImportDeclarationLine(models.Model):
_inherit = 'br_account.import.declaration.line'

invoice_line_id = fields.Many2one(
'account.invoice.line',
string="Linhas da fatura")


class AccountDocumentRelated(models.Model):
_inherit = 'br_account.document.related'
Expand Down
26 changes: 25 additions & 1 deletion br_nfe/views/account_invoice.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>

<record id="view_br_account_einvoice_invoice_form" model="ir.ui.view">
<record id="view_br_account_einvoice_invoice_form" model="ir.ui.view">
<field name="name">br_account_einvoice_invoice_form</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="br_account.view_br_account_invoice_form"/>
<field name="arch" type="xml">
<page name="other_info" position="after">
<div t-if="fiscal_position_id.fiscal_type == 'import'" string="Informações de Importação" name="import_info">
<field nolabel="1" name="import_declaration_ids"/>
</div>
</page>
<div class="alert alert-info" position="after">
<field name="ambiente_nfe" invisible="1" />
<field name="invoice_model" invisible="1" />
Expand Down Expand Up @@ -37,12 +42,31 @@
</field>
</record>

<record id="view_br_account_invoice_line_form_di" model="ir.ui.view">
<field name="name">br_nfe_invoice_line_form</field>
<field name="model">account.invoice.line</field>
<field name="inherit_id" ref="br_account.view_br_account_invoice_line_form"/>
<field name="arch" type="xml">
<xpath expr="//group[@name='import_declaration']" position="replace">
<group string="Adições" colspan="4">
<field name="invoice_id" invisible="1"/>
<field name="declaration_line_ids" nolabel="1" context="{'default_invoice_line_id': id}"></field>
</group>
</xpath>
</field>
</record>


<record id="view_br_nfe_supplier_invoice_form" model="ir.ui.view">
<field name="name">br_nfe_supplier_invoice_form</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="br_account.view_br_account_invoice_supplier_form"/>
<field name="arch" type="xml">
<page name="other_info" position="after">
<div t-if="fiscal_position_id.fiscal_type == 'import'" string="Informações de Importação" name="import_info">
<field nolabel="1" name="import_declaration_ids"/>
</div>
</page>
<div class="alert alert-info" position="after">
<field name="ambiente_nfe" invisible="1" />
<field name="invoice_model" invisible="1" />
Expand Down
37 changes: 36 additions & 1 deletion br_nfe/views/br_nfe.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,47 @@
<field name="model">nfe.duplicata</field>
<field name="arch" type="xml">
<tree>
<field name="numero_duplicata" />
<field name="numero_duplicata"/>
<field name="data_vencimento"/>
<field name="valor"/>
</tree>
</field>
</record>

<record id="view_br_account_import_declaration_form" model="ir.ui.view">
<field name="name">br_account.import.declaration.form</field>
<field name="model">br_account.import.declaration</field>
<field name="arch" type="xml">
<form string="Declaração de Importação">
<group>
<field name="name"/>
<field name="date_registration"/>
<field name="state_id" options="{'no_create': True, 'no_create_edit': True}"/>
<field name="location"/>
<field name="date_release"/>
<field name="type_transportation" />
<field name="invoice_id" invisible="1"/>
</group>
<group>
<field name="afrmm_value" />
<field name="type_import" />
<field name="thirdparty_cnpj" />
<field name="thirdparty_state_id" options="{'no_create': True, 'no_create_edit': True}"/>
<field name="exporting_code"/>
</group>
</form>
</field>
</record>

<record id="br_nfe_import_declaration_line_form" model="ir.ui.view">
<field name="name">br_nfe.import.declaration.line</field>
<field name="model">br_account.import.declaration.line</field>
<field name="inherit_id" ref="br_account.view_br_account_import_declaration_line_form"/>
<field name="arch" type="xml">
<field name="sequence" position="before">
<field name="import_declaration_id" domain="[('invoice_id', '=', parent.invoice_id)]"/>
</field>
</field>
</record>

</odoo>
6 changes: 4 additions & 2 deletions br_stock_account/models/account_invoice.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@ class AccountInvoice(models.Model):

@api.multi
def copy(self, default=None):
self.ensure_one()
new_acc_inv = super(AccountInvoice, self).copy(default)
new_acc_inv.import_declaration_ids = self.import_declaration_ids
for i in range(len(new_acc_inv.invoice_line_ids)):
new_acc_inv.invoice_line_ids[i].import_declaration_ids = \
self.invoice_line_ids[i].import_declaration_ids
new_acc_inv.invoice_line_ids[i].declaration_line_ids = \
self.invoice_line_ids[i].declaration_line_ids
return new_acc_inv

@api.one
Expand Down

0 comments on commit 4328339

Please sign in to comment.