[FIX] report_intrastat: multi-company rules.
The intrastat report did not take care about the multi-company concept. In an multi-company environment, lines issued from invoices in different company (without a parent-children relationship) were all displayed in this report. opw-643685
This commit is contained in:
@@ -16,6 +16,7 @@ European Union.""",
|
||||
'depends': ['base', 'product', 'stock', 'sale', 'purchase'],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'security/report_intrastat_security.xml',
|
||||
'report_intrastat_view.xml',
|
||||
'intrastat_report.xml',
|
||||
'report_intrastat_data.xml',
|
||||
|
||||
@@ -53,6 +53,7 @@ class report_intrastat(osv.osv):
|
||||
'value': fields.float('Value', readonly=True, digits=0),
|
||||
'type': fields.selection([('import', 'Import'), ('export', 'Export')], 'Type'),
|
||||
'currency_id': fields.many2one('res.currency', "Currency", readonly=True),
|
||||
'company_id': fields.many2one('res.company', "Company", readonly=True),
|
||||
}
|
||||
def init(self, cr):
|
||||
drop_view_if_exists(cr, 'report_intrastat')
|
||||
@@ -82,7 +83,8 @@ class report_intrastat(osv.osv):
|
||||
case when inv.type in ('out_invoice','in_refund')
|
||||
then 'export'
|
||||
else 'import'
|
||||
end as type
|
||||
end as type,
|
||||
inv.company_id as company_id
|
||||
from
|
||||
account_invoice inv
|
||||
left join account_invoice_line inv_line on inv_line.invoice_id=inv.id
|
||||
@@ -99,5 +101,5 @@ class report_intrastat(osv.osv):
|
||||
inv.state in ('open','paid')
|
||||
and inv_line.product_id is not null
|
||||
and inv_country.intrastat=true
|
||||
group by to_char(inv.create_date, 'YYYY'), to_char(inv.create_date, 'MM'),intrastat.id,inv.type,pt.intrastat_id, inv_country.code,inv.number, inv.currency_id
|
||||
group by to_char(inv.create_date, 'YYYY'), to_char(inv.create_date, 'MM'),intrastat.id,inv.type,pt.intrastat_id, inv_country.code,inv.number, inv.currency_id, inv.company_id
|
||||
)""")
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="invoice_analysis_comp_rule" model="ir.rule">
|
||||
<field name="name">Intrastat multi-company</field>
|
||||
<field name="model_id" ref="model_report_intrastat"/>
|
||||
<field name="global" eval="True"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
Reference in New Issue
Block a user