[REF+FIX] account: code cleaning of wizard to generates objects from templates
bzr revid: qdp-launchpad@openerp.com-20111208235348-h3bpb70zv7gr932s
This commit is contained in:
parent
650eb7f6e8
commit
c52bb36f7f
|
@ -2465,7 +2465,7 @@ class account_account_template(osv.osv):
|
||||||
res.append((record['id'],name ))
|
res.append((record['id'],name ))
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def generate_account(self, cr, uid, template_id, tax_template_ref, code_digits, company_id, context=None):
|
def generate_account(self, cr, uid, template_id, tax_template_ref, acc_template_ref, code_digits, company_id, context=None):
|
||||||
"""
|
"""
|
||||||
This method for generating accounts from templates.
|
This method for generating accounts from templates.
|
||||||
@param cr: A database cursor.
|
@param cr: A database cursor.
|
||||||
|
@ -2481,14 +2481,14 @@ class account_account_template(osv.osv):
|
||||||
obj_acc = self.pool.get('account.account')
|
obj_acc = self.pool.get('account.account')
|
||||||
company_name = self.pool.get('res.company').browse(cr, uid, company_id, context=context).name
|
company_name = self.pool.get('res.company').browse(cr, uid, company_id, context=context).name
|
||||||
template = self.pool.get('account.chart.template').browse(cr, uid, template_id, context=context)
|
template = self.pool.get('account.chart.template').browse(cr, uid, template_id, context=context)
|
||||||
acc_template_ref = {}
|
|
||||||
#deactivate the parent_store functionnality on account_account for rapidity purpose
|
#deactivate the parent_store functionnality on account_account for rapidity purpose
|
||||||
ctx = context.copy()
|
ctx = context.copy()
|
||||||
ctx.update({'defer_parent_store_computation': True})
|
ctx.update({'defer_parent_store_computation': True})
|
||||||
#import pdb;pdb.set_trace()
|
children_acc_template = self.search(cr, uid, ['|', ('chart_template_id','=', [template_id]),'&',('parent_id','child_of', [template.account_root_id.id]),('chart_template_id','=', False), ('nocreate','!=',True)], order='id')
|
||||||
#TODO: this is where the program currently fail as the search doesn't return the template id 16 (bank view id of demo chart C)
|
|
||||||
children_acc_template = self.search(cr, uid, [('parent_id','child_of', [template.account_root_id.id]),'|', ('chart_template_id','=', [template_id]),('chart_template_id','=', False), ('nocreate','!=',True)], order='id')
|
|
||||||
for account_template in self.browse(cr, uid, children_acc_template, context=context):
|
for account_template in self.browse(cr, uid, children_acc_template, context=context):
|
||||||
|
# skip the root of COA if it's not the main one
|
||||||
|
if (template.account_root_id.id == account_template.id) and template.parent_id:
|
||||||
|
continue
|
||||||
tax_ids = []
|
tax_ids = []
|
||||||
for tax in account_template.tax_ids:
|
for tax in account_template.tax_ids:
|
||||||
tax_ids.append(tax_template_ref[tax.id])
|
tax_ids.append(tax_template_ref[tax.id])
|
||||||
|
@ -2754,20 +2754,19 @@ class account_tax_template(osv.osv):
|
||||||
}
|
}
|
||||||
_order = 'sequence'
|
_order = 'sequence'
|
||||||
|
|
||||||
def generate_tax(self, cr, uid, tax_templates, tax_code_template_ref, company_id, context=None):
|
def _generate_tax(self, cr, uid, tax_templates, tax_code_template_ref, company_id, context=None):
|
||||||
"""
|
"""
|
||||||
This method generate taxes from templates.
|
This method generate taxes from templates.
|
||||||
@param cr: A database cursor.
|
|
||||||
@param uid: ID of the user currently logged in.
|
:param tax_templates: list of browse record of the tax templates to process
|
||||||
@param tax_templates: Tax templates.
|
:param tax_code_template_ref: Taxcode templates reference.
|
||||||
@param tax_code_template_ref: Taxcode templates reference.
|
:param company_id: id of the company the wizard is running for
|
||||||
@param company_id: if tax generated from account multi wizard at that time company_id is wizard company_id field
|
:returns:
|
||||||
or logged user company_id.
|
{
|
||||||
@param Return:
|
'tax_template_to_tax': mapping between tax template and the newly generated taxes corresponding,
|
||||||
{'tax_template_to_tax': New generated taxes ids,
|
'account_dict': dictionary containing a to-do list with all the accounts to assign on new taxes
|
||||||
'account_dict': Used this reference value for Account Tax,
|
}
|
||||||
}
|
"""
|
||||||
"""#TODO: improve this docstring
|
|
||||||
if context is None:
|
if context is None:
|
||||||
context = {}
|
context = {}
|
||||||
res = {}
|
res = {}
|
||||||
|
@ -3169,11 +3168,11 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||||
def generate_properties(self, cr, uid, chart_template_id, acc_template_ref, company_id, context=None):
|
def generate_properties(self, cr, uid, chart_template_id, acc_template_ref, company_id, context=None):
|
||||||
"""
|
"""
|
||||||
This method used for creating properties.
|
This method used for creating properties.
|
||||||
@param cr: A database cursor.
|
|
||||||
@param uid: ID of the user currently logged in.
|
:param chart_template_id: id of the current chart template for which we need to create properties
|
||||||
@param chart_temp_id: Chart Template Id.
|
:param acc_template_ref: Mapping between ids of account templates and real accounts created from them
|
||||||
@param acc_template_ref: Account templates reference.
|
:param company_id: company_id selected from wizard.multi.charts.accounts.
|
||||||
@param company_id: company_id selected from wizard.multi.charts.accounts.
|
:returns: True
|
||||||
"""
|
"""
|
||||||
property_obj = self.pool.get('ir.property')
|
property_obj = self.pool.get('ir.property')
|
||||||
field_obj = self.pool.get('ir.model.fields')
|
field_obj = self.pool.get('ir.model.fields')
|
||||||
|
@ -3186,28 +3185,28 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||||
('property_account_income','product.template','account.account'),
|
('property_account_income','product.template','account.account'),
|
||||||
('property_reserve_and_surplus_account','res.company','account.account')
|
('property_reserve_and_surplus_account','res.company','account.account')
|
||||||
]
|
]
|
||||||
template_id = self.pool.get('account.chart.template').browse(cr, uid, chart_template_id, context=context)
|
template = self.pool.get('account.chart.template').browse(cr, uid, chart_template_id, context=context)
|
||||||
for record in todo_list:
|
for record in todo_list:
|
||||||
rec_list = []
|
account = getattr(template, record[0])
|
||||||
rec_list = property_obj.search(cr, uid, [('name','=', record[0]),('company_id', '=', company_id)], context=context)
|
value = account and 'account.account,' + str(acc_template_ref[account.id]) or False
|
||||||
account = getattr(template_id, record[0])
|
if value:
|
||||||
field = field_obj.search(cr, uid, [('name', '=', record[0]),('model', '=', record[1]),('relation', '=', record[2])], context=context)
|
field = field_obj.search(cr, uid, [('name', '=', record[0]),('model', '=', record[1]),('relation', '=', record[2])], context=context)
|
||||||
vals = {
|
vals = {
|
||||||
'name': record[0],
|
'name': record[0],
|
||||||
'company_id': company_id,
|
'company_id': company_id,
|
||||||
'fields_id': field[0],
|
'fields_id': field[0],
|
||||||
'value': account and 'account.account,' + str(acc_template_ref[account.id]) or False,
|
'value': value,
|
||||||
}
|
}
|
||||||
|
property_ids = property_obj.search(cr, uid, [('name','=', record[0]),('company_id', '=', company_id)], context=context)
|
||||||
if rec_list:
|
if property_ids:
|
||||||
#the property exist: modify it
|
#the property exist: modify it
|
||||||
property_obj.write(cr, uid, rec_list, vals, context=context)
|
property_obj.write(cr, uid, property_ids, vals, context=context)
|
||||||
else:
|
else:
|
||||||
#create the property
|
#create the property
|
||||||
property_obj.create(cr, uid, vals, context=context)
|
property_obj.create(cr, uid, vals, context=context)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def _install_template(self, cr, uid, template_id, company_id, code_digits=None, obj_wizard=None, acc_ref={}, taxes_ref={}, context=None):
|
def _install_template(self, cr, uid, template_id, company_id, code_digits=None, obj_wizard=None, acc_ref={}, taxes_ref={}, tax_code_ref={}, context=None):
|
||||||
'''
|
'''
|
||||||
This function recursively loads the template objects and create the real objects from them.
|
This function recursively loads the template objects and create the real objects from them.
|
||||||
|
|
||||||
|
@ -3215,24 +3214,26 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||||
:param company_id: id of the company the wizard is running for
|
:param company_id: id of the company the wizard is running for
|
||||||
:param code_digits: integer that depicts the number of digits the accounts code should have in the COA
|
:param code_digits: integer that depicts the number of digits the accounts code should have in the COA
|
||||||
:param obj_wizard: the current wizard for generating the COA from the templates
|
:param obj_wizard: the current wizard for generating the COA from the templates
|
||||||
:returns: return a tuple with a dictionary containing the mapping between the account template ids and the ids
|
:returns: return a tuple with a dictionary containing
|
||||||
of the real accounts that have been generated from them, as first item, and a similar dictionary for mapping
|
* the mapping between the account template ids and the ids of the real accounts that have been generated
|
||||||
between tax templates and taxes
|
from them, as first item,
|
||||||
:rtype: tuple(dict, dict)
|
* a similar dictionary for mapping the tax templates and taxes, as second item,
|
||||||
|
* a last identical containing the mapping of tax code templates and tax codes
|
||||||
|
:rtype: tuple(dict, dict, dict)
|
||||||
'''
|
'''
|
||||||
#import pdb;pdb.set_trace()
|
|
||||||
template = self.pool.get('account.chart.template').browse(cr, uid, template_id, context=context)
|
template = self.pool.get('account.chart.template').browse(cr, uid, template_id, context=context)
|
||||||
if template.parent_id:
|
if template.parent_id:
|
||||||
tmp1, tmp2 = self._install_template(cr, uid, template.parent_id.id, company_id, code_digits=code_digits, acc_ref=acc_ref, taxes_ref=taxes_ref, context=context)
|
tmp1, tmp2, tmp3 = self._install_template(cr, uid, template.parent_id.id, company_id, code_digits=code_digits, acc_ref=acc_ref, taxes_ref=taxes_ref, tax_code_ref=tax_code_ref, context=context)
|
||||||
acc_ref.update(tmp1)
|
acc_ref.update(tmp1)
|
||||||
taxes_ref.update(tmp2)
|
taxes_ref.update(tmp2)
|
||||||
#import pdb;pdb.set_trace()
|
tax_code_ref.update(tmp3)
|
||||||
tmp1, tmp2 = self._load_template(cr, uid, template_id, company_id, code_digits=code_digits, obj_wizard=obj_wizard, account_ref=acc_ref, taxes_ref=taxes_ref, context=context)
|
tmp1, tmp2, tmp3 = self._load_template(cr, uid, template_id, company_id, code_digits=code_digits, obj_wizard=obj_wizard, account_ref=acc_ref, taxes_ref=taxes_ref, tax_code_ref=tax_code_ref, context=context)
|
||||||
acc_ref.update(tmp1)
|
acc_ref.update(tmp1)
|
||||||
taxes_ref.update(tmp2)
|
taxes_ref.update(tmp2)
|
||||||
return acc_ref, taxes_ref
|
tax_code_ref.update(tmp3)
|
||||||
|
return acc_ref, taxes_ref, tax_code_ref
|
||||||
|
|
||||||
def _load_template(self, cr, uid, template_id, company_id, code_digits=None, obj_wizard=None, account_ref={}, taxes_ref={}, context=None):
|
def _load_template(self, cr, uid, template_id, company_id, code_digits=None, obj_wizard=None, account_ref={}, taxes_ref={}, tax_code_ref={}, context=None):
|
||||||
'''
|
'''
|
||||||
This function generates all the objects from the templates
|
This function generates all the objects from the templates
|
||||||
|
|
||||||
|
@ -3240,10 +3241,12 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||||
:param company_id: id of the company the wizard is running for
|
:param company_id: id of the company the wizard is running for
|
||||||
:param code_digits: integer that depicts the number of digits the accounts code should have in the COA
|
:param code_digits: integer that depicts the number of digits the accounts code should have in the COA
|
||||||
:param obj_wizard: the current wizard for generating the COA from the templates
|
:param obj_wizard: the current wizard for generating the COA from the templates
|
||||||
:returns: return a tuple with a dictionary containing the mapping between the account template ids and the ids
|
:returns: return a tuple with a dictionary containing
|
||||||
of the real accounts that have been generated from them, as first item, and a similar dictionary for mapping
|
* the mapping between the account template ids and the ids of the real accounts that have been generated
|
||||||
between tax templates and taxes
|
from them, as first item,
|
||||||
:rtype: tuple(dict, dict)
|
* a similar dictionary for mapping the tax templates and taxes, as second item,
|
||||||
|
* a last identical containing the mapping of tax code templates and tax codes
|
||||||
|
:rtype: tuple(dict, dict, dict)
|
||||||
'''
|
'''
|
||||||
template = self.pool.get('account.chart.template').browse(cr, uid, template_id, context=context)
|
template = self.pool.get('account.chart.template').browse(cr, uid, template_id, context=context)
|
||||||
obj_tax_code_template = self.pool.get('account.tax.code.template')
|
obj_tax_code_template = self.pool.get('account.tax.code.template')
|
||||||
|
@ -3253,15 +3256,15 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||||
obj_fiscal_position_template = self.pool.get('account.fiscal.position.template')
|
obj_fiscal_position_template = self.pool.get('account.fiscal.position.template')
|
||||||
|
|
||||||
# create all the tax code.
|
# create all the tax code.
|
||||||
tax_code_template_ref = obj_tax_code_template.generate_tax_code(cr, uid, template.tax_code_root_id.id, company_id, context=context)
|
tax_code_ref.update(obj_tax_code_template.generate_tax_code(cr, uid, template.tax_code_root_id.id, company_id, context=context))
|
||||||
|
|
||||||
# Generate taxes from templates.
|
# Generate taxes from templates.
|
||||||
tax_templates = [x for x in template.tax_template_ids if x.installable]
|
tax_templates = [x for x in template.tax_template_ids if x.installable]
|
||||||
generated_tax_res = obj_tax_temp.generate_tax(cr, uid, tax_templates, tax_code_template_ref, company_id, context=context)
|
generated_tax_res = obj_tax_temp._generate_tax(cr, uid, tax_templates, tax_code_ref, company_id, context=context)
|
||||||
taxes_ref.update(generated_tax_res['tax_template_to_tax'])
|
taxes_ref.update(generated_tax_res['tax_template_to_tax'])
|
||||||
|
|
||||||
# Generating Accounts from templates.
|
# Generating Accounts from templates.
|
||||||
account_template_ref = obj_acc_template.generate_account(cr, uid, template_id, taxes_ref, code_digits, company_id, context=context)
|
account_template_ref = obj_acc_template.generate_account(cr, uid, template_id, taxes_ref, account_ref, code_digits, company_id, context=context)
|
||||||
account_ref.update(account_template_ref)
|
account_ref.update(account_template_ref)
|
||||||
|
|
||||||
# writing account values on tax after creation of accounts
|
# writing account values on tax after creation of accounts
|
||||||
|
@ -3273,7 +3276,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||||
})
|
})
|
||||||
|
|
||||||
# Create Journals
|
# Create Journals
|
||||||
self.generate_journals(cr, uid, template_id, account_ref, company_id, context)
|
self.generate_journals(cr, uid, template_id, account_ref, company_id, context=context)
|
||||||
|
|
||||||
# generate properties function
|
# generate properties function
|
||||||
self.generate_properties(cr, uid, template_id, account_ref, company_id, context=context)
|
self.generate_properties(cr, uid, template_id, account_ref, company_id, context=context)
|
||||||
|
@ -3281,7 +3284,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||||
# Generate Fiscal Position , Fiscal Position Accounts and Fiscal Position Taxes from templates
|
# Generate Fiscal Position , Fiscal Position Accounts and Fiscal Position Taxes from templates
|
||||||
obj_fiscal_position_template.generate_fiscal_position(cr, uid, template_id, taxes_ref, account_ref, company_id, context=context)
|
obj_fiscal_position_template.generate_fiscal_position(cr, uid, template_id, taxes_ref, account_ref, company_id, context=context)
|
||||||
|
|
||||||
return account_ref, taxes_ref
|
return account_ref, taxes_ref, tax_code_ref
|
||||||
|
|
||||||
def _create_tax_templates_from_rates(self, cr, uid, obj_wizard, company_id, context=None):
|
def _create_tax_templates_from_rates(self, cr, uid, obj_wizard, company_id, context=None):
|
||||||
'''
|
'''
|
||||||
|
@ -3355,19 +3358,18 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
||||||
self._create_tax_templates_from_rates(cr, uid, obj_wizard, company_id, context=context)
|
self._create_tax_templates_from_rates(cr, uid, obj_wizard, company_id, context=context)
|
||||||
|
|
||||||
# Install all the templates objects and generate the real objects
|
# Install all the templates objects and generate the real objects
|
||||||
acc_template_ref, taxes_ref = self._install_template(cr, uid, obj_wizard.chart_template_id.id, company_id, code_digits=obj_wizard.code_digits, obj_wizard=obj_wizard, context=context)
|
acc_template_ref, taxes_ref, tax_code_ref = self._install_template(cr, uid, obj_wizard.chart_template_id.id, company_id, code_digits=obj_wizard.code_digits, obj_wizard=obj_wizard, context=context)
|
||||||
|
|
||||||
# write values of default taxes for product
|
# write values of default taxes for product
|
||||||
if obj_wizard.sale_tax and taxes_ref:
|
if obj_wizard.sale_tax and taxes_ref:
|
||||||
ir_values_obj.set(cr, uid, key='default', key2=False, name="taxes_id", company=company_id,
|
ir_values_obj.set(cr, uid, key='default', key2=False, name="taxes_id", company=company_id,
|
||||||
models =[('product.product',False)], value=[taxes_ref[obj_wizard.sale_tax.id]])
|
models =[('product.product',False)], value=[taxes_ref[obj_wizard.sale_tax.id]])
|
||||||
if obj_wizard.purchase_tax and taxes_ref['taxes_id']:
|
if obj_wizard.purchase_tax and taxes_ref:
|
||||||
ir_values_obj.set(cr, uid, key='default', key2=False, name="supplier_taxes_id", company=company_id,
|
ir_values_obj.set(cr, uid, key='default', key2=False, name="supplier_taxes_id", company=company_id,
|
||||||
models =[('product.product',False)], value=[taxes_ref[obj_wizard.purchase_tax.id]])
|
models =[('product.product',False)], value=[taxes_ref[obj_wizard.purchase_tax.id]])
|
||||||
|
|
||||||
# Create Bank journals
|
# Create Bank journals
|
||||||
self._create_bank_journals_from_o2m(cr, uid, obj_wizard, company_id, acc_template_ref, context=context)
|
self._create_bank_journals_from_o2m(cr, uid, obj_wizard, company_id, acc_template_ref, context=context)
|
||||||
#import pdb;pdb.set_trace()
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def _prepare_bank_journal(self, cr, uid, line, current_num, default_account_id, company_id, context=None):
|
def _prepare_bank_journal(self, cr, uid, line, current_num, default_account_id, company_id, context=None):
|
||||||
|
|
|
@ -94,6 +94,24 @@
|
||||||
<field name="user_type" ref="account_type_view"/>
|
<field name="user_type" ref="account_type_view"/>
|
||||||
<field name="chart_template_id" ref="account_chart_template_a"/>
|
<field name="chart_template_id" ref="account_chart_template_a"/>
|
||||||
</record>
|
</record>
|
||||||
|
<record model="account.account.template" id="chart_a_receivable">
|
||||||
|
<field name="name">Debtors A</field>
|
||||||
|
<field name="code">A00025</field>
|
||||||
|
<field name="type">receivable</field>
|
||||||
|
<field name="user_type" ref="account_type_receivable"/>
|
||||||
|
<field name="reconcile" eval="True"/>
|
||||||
|
<field name="parent_id" ref="chart_a1"/>
|
||||||
|
<field name="chart_template_id" ref="account_chart_template_a"/>
|
||||||
|
</record>
|
||||||
|
<record model="account.account.template" id="chart_a_payable">
|
||||||
|
<field name="name">Creditors A</field>
|
||||||
|
<field name="code">A00026</field>
|
||||||
|
<field name="type">payable</field>
|
||||||
|
<field name="user_type" ref="account_type_payable"/>
|
||||||
|
<field name="reconcile" eval="True"/>
|
||||||
|
<field name="parent_id" ref="chart_a1"/>
|
||||||
|
<field name="chart_template_id" ref="account_chart_template_a"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
<!-- Tax Code template for A-->
|
<!-- Tax Code template for A-->
|
||||||
<record id="atax0" model="account.tax.code.template">
|
<record id="atax0" model="account.tax.code.template">
|
||||||
|
@ -101,12 +119,12 @@
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="atax1" model="account.tax.code.template">
|
<record id="atax1" model="account.tax.code.template">
|
||||||
<field name="name">Tax 001 A</field>
|
<field name="name">Base - 001 A</field>
|
||||||
<field name="parent_id" ref="atax0"/>
|
<field name="parent_id" ref="atax0"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="atax2" model="account.tax.code.template">
|
<record id="atax2" model="account.tax.code.template">
|
||||||
<field name="name">Tax 002 A</field>
|
<field name="name">Tax - 002 A</field>
|
||||||
<field name="parent_id" ref="atax0"/>
|
<field name="parent_id" ref="atax0"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
@ -156,9 +174,9 @@
|
||||||
<record model="account.account.template" id="chart_b5">
|
<record model="account.account.template" id="chart_b5">
|
||||||
<field name="name">Creditors B</field>
|
<field name="name">Creditors B</field>
|
||||||
<field name="code">B00025</field>
|
<field name="code">B00025</field>
|
||||||
<field name="type">view</field>
|
<field name="type">payable</field>
|
||||||
<field name="user_type" ref="account_type_payable"/>
|
<field name="user_type" ref="account_type_payable"/>
|
||||||
<field name="reconcile" eval="False"/>
|
<field name="reconcile" eval="True"/>
|
||||||
<field name="parent_id" ref="chart_a1"/>
|
<field name="parent_id" ref="chart_a1"/>
|
||||||
<field name="chart_template_id" ref="account_chart_template_b"/>
|
<field name="chart_template_id" ref="account_chart_template_b"/>
|
||||||
</record>
|
</record>
|
||||||
|
@ -189,7 +207,7 @@
|
||||||
<field name="type">view</field>
|
<field name="type">view</field>
|
||||||
<field name="user_type" ref="acct_type_asset_view"/>
|
<field name="user_type" ref="acct_type_asset_view"/>
|
||||||
<field name="reconcile" eval="False"/>
|
<field name="reconcile" eval="False"/>
|
||||||
<field name="parent_id" ref="chart_c_root"/>
|
<field name="parent_id" ref="chart_a1"/>
|
||||||
<field name="chart_template_id" ref="account_chart_template_c"/>
|
<field name="chart_template_id" ref="account_chart_template_c"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
@ -199,7 +217,7 @@
|
||||||
<field name="type">view</field>
|
<field name="type">view</field>
|
||||||
<field name="user_type" ref="acct_type_liability_view"/>
|
<field name="user_type" ref="acct_type_liability_view"/>
|
||||||
<field name="reconcile" eval="False"/>
|
<field name="reconcile" eval="False"/>
|
||||||
<field name="parent_id" ref="chart_c_root"/>
|
<field name="parent_id" ref="chart_a1"/>
|
||||||
<field name="chart_template_id" ref="account_chart_template_c"/>
|
<field name="chart_template_id" ref="account_chart_template_c"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
@ -216,7 +234,7 @@
|
||||||
<record model="account.account.template" id="chart_c4">
|
<record model="account.account.template" id="chart_c4">
|
||||||
<field name="name">Expense C</field>
|
<field name="name">Expense C</field>
|
||||||
<field name="code">C00024</field>
|
<field name="code">C00024</field>
|
||||||
<field name="type">view</field>
|
<field name="type">other</field>
|
||||||
<field name="user_type" ref="account_type_payable"/>
|
<field name="user_type" ref="account_type_payable"/>
|
||||||
<field name="reconcile" eval="False"/>
|
<field name="reconcile" eval="False"/>
|
||||||
<field name="parent_id" ref="chart_a1"/>
|
<field name="parent_id" ref="chart_a1"/>
|
||||||
|
@ -238,6 +256,8 @@
|
||||||
<field name="account_root_id" ref="chart_a_root"/>
|
<field name="account_root_id" ref="chart_a_root"/>
|
||||||
<field name="tax_code_root_id" ref="atax0"/>
|
<field name="tax_code_root_id" ref="atax0"/>
|
||||||
<field name="bank_account_view_id" ref="chart_a2"/>
|
<field name="bank_account_view_id" ref="chart_a2"/>
|
||||||
|
<field name="property_account_receivable" ref="chart_a_receivable"/>
|
||||||
|
<field name="property_account_payable" ref="chart_a_payable"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="account_chart_template_b" model="account.chart.template">
|
<record id="account_chart_template_b" model="account.chart.template">
|
||||||
|
@ -246,6 +266,7 @@
|
||||||
<field name="tax_code_root_id" ref="atax0"/>
|
<field name="tax_code_root_id" ref="atax0"/>
|
||||||
<field name="bank_account_view_id" ref="chart_b6"/>
|
<field name="bank_account_view_id" ref="chart_b6"/>
|
||||||
<field name="parent_id" ref="account_chart_template_a"/>
|
<field name="parent_id" ref="account_chart_template_a"/>
|
||||||
|
<field name="property_account_payable" ref="chart_b5"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="account_chart_template_c" model="account.chart.template">
|
<record id="account_chart_template_c" model="account.chart.template">
|
||||||
|
@ -254,6 +275,7 @@
|
||||||
<field name="tax_code_root_id" ref="atax0"/>
|
<field name="tax_code_root_id" ref="atax0"/>
|
||||||
<field name="bank_account_view_id" ref="chart_c5"/>
|
<field name="bank_account_view_id" ref="chart_c5"/>
|
||||||
<field name="parent_id" ref="account_chart_template_a"/>
|
<field name="parent_id" ref="account_chart_template_a"/>
|
||||||
|
<field name="property_account_expense" ref="chart_c4"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<!-- Tax for template A-->
|
<!-- Tax for template A-->
|
||||||
|
@ -264,6 +286,8 @@
|
||||||
<field name="amount">0.21</field>
|
<field name="amount">0.21</field>
|
||||||
<field name="type">percent</field>
|
<field name="type">percent</field>
|
||||||
<field name="chart_template_id" ref="account_chart_template_a"/>
|
<field name="chart_template_id" ref="account_chart_template_a"/>
|
||||||
|
<field name="base_code_id" ref="atax1"/>
|
||||||
|
<field name="tax_code_id" ref="atax2"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="tax_temp_6" model="account.tax.template">
|
<record id="tax_temp_6" model="account.tax.template">
|
||||||
|
@ -273,6 +297,10 @@
|
||||||
<field name="amount">0.6</field>
|
<field name="amount">0.6</field>
|
||||||
<field name="type">percent</field>
|
<field name="type">percent</field>
|
||||||
<field name="chart_template_id" ref="account_chart_template_a"/>
|
<field name="chart_template_id" ref="account_chart_template_a"/>
|
||||||
|
<field name="base_code_id" ref="atax1"/>
|
||||||
|
<field name="tax_code_id" ref="atax2"/>
|
||||||
|
<field name="ref_base_code_id" ref="atax1"/>
|
||||||
|
<field name="ref_tax_code_id" ref="atax2"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|
||||||
|
@ -284,6 +312,10 @@
|
||||||
<field name="amount">0.4</field>
|
<field name="amount">0.4</field>
|
||||||
<field name="type">percent</field>
|
<field name="type">percent</field>
|
||||||
<field name="chart_template_id" ref="account_chart_template_b"/>
|
<field name="chart_template_id" ref="account_chart_template_b"/>
|
||||||
|
<field name="base_code_id" ref="atax1"/>
|
||||||
|
<field name="tax_code_id" ref="atax2"/>
|
||||||
|
<field name="ref_base_code_id" ref="atax1"/>
|
||||||
|
<field name="ref_tax_code_id" ref="atax2"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="tax_temp_12" model="account.tax.template">
|
<record id="tax_temp_12" model="account.tax.template">
|
||||||
|
@ -293,6 +325,8 @@
|
||||||
<field name="amount">0.12</field>
|
<field name="amount">0.12</field>
|
||||||
<field name="type">percent</field>
|
<field name="type">percent</field>
|
||||||
<field name="chart_template_id" ref="account_chart_template_b"/>
|
<field name="chart_template_id" ref="account_chart_template_b"/>
|
||||||
|
<field name="base_code_id" ref="atax1"/>
|
||||||
|
<field name="tax_code_id" ref="atax2"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<!-- account.fiscal.position.template -->
|
<!-- account.fiscal.position.template -->
|
||||||
|
|
Loading…
Reference in New Issue