[MERGE] branch merged with trunk-payroll
bzr revid: mtr@mtr-20110711102131-gecb7yb6og0x8ac4
This commit is contained in:
commit
781ebda8f9
|
@ -278,7 +278,7 @@ class hr_payslip(osv.osv):
|
|||
'note': fields.text('Description', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'contract_id': fields.many2one('hr.contract', 'Contract', required=False, readonly=True, states={'draft': [('readonly', False)]}),
|
||||
'details_by_salary_rule_category': fields.function(_get_lines_salary_rule_category, method=True, type='one2many', relation='hr.payslip.line', string='Details by Salary Rule Category'),
|
||||
'credit_note': fields.boolean('Credit Note', help="Indicates this payslip has a refund of another"),
|
||||
'credit_note': fields.boolean('Credit Note', help="Indicates this payslip has a refund of another", readonly=True, states={'draft': [('readonly', False)]}),
|
||||
'payslip_run_id': fields.many2one('hr.payslip.run', 'Payslip Run', readonly=True, states={'draft': [('readonly', False)]}),
|
||||
}
|
||||
_defaults = {
|
||||
|
|
|
@ -2,19 +2,38 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Contribution Register -->
|
||||
|
||||
<record id="hr_houserent_register" model="hr.contribution.register">
|
||||
<field name="name">House Rent Allowance Register</field>
|
||||
</record>
|
||||
|
||||
<record id="hr_provident_fund_register" model="hr.contribution.register">
|
||||
<field name="name">Provident Fund Register</field>
|
||||
</record>
|
||||
|
||||
<record id="hr_professional_tax_register" model="hr.contribution.register">
|
||||
<field name="name">Professional Tax Register</field>
|
||||
</record>
|
||||
|
||||
<record id="hr_meal_voucher_register" model="hr.contribution.register">
|
||||
<field name="name">Meal Voucher Register</field>
|
||||
</record>
|
||||
|
||||
<!-- Salary Rules -->
|
||||
|
||||
<record id="hr_payslip_line_houserantallowance1" model="hr.salary.rule">
|
||||
<record id="hr_salary_rule_houserentallowance1" model="hr.salary.rule">
|
||||
<field name="amount_select">percentage</field>
|
||||
<field eval="40.0" name="amount_percentage"/>
|
||||
<field name="amount_percentage_base">contract.wage</field>
|
||||
<field name="code">HRA</field>
|
||||
<field name="category_id" ref="hr_payroll.ALW"/>
|
||||
<field name="register_id" ref="hr_houserent_register"/>
|
||||
<field name="name">House Rent Allowance</field>
|
||||
<field name="sequence" eval="5"/>
|
||||
</record>
|
||||
|
||||
<record id="hr_payslip_line_convanceallowance1" model="hr.salary.rule">
|
||||
<record id="hr_salary_rule_convanceallowance1" model="hr.salary.rule">
|
||||
<field name="amount_select">fix</field>
|
||||
<field eval="800.0" name="amount_fix"/>
|
||||
<field name="code">CA</field>
|
||||
|
@ -23,22 +42,24 @@
|
|||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
|
||||
<record id="hr_payslip_line_professionaltax1" model="hr.salary.rule">
|
||||
<record id="hr_salary_rule_professionaltax1" model="hr.salary.rule">
|
||||
<field name="amount_select">fix</field>
|
||||
<field eval="150" name="sequence"/>
|
||||
<field eval="-200.0" name="amount_fix"/>
|
||||
<field name="code">PT</field>
|
||||
<field name="category_id" ref="hr_payroll.DED"/>
|
||||
<field name="register_id" ref="hr_professional_tax_register"/>
|
||||
<field name="name">Professional Tax</field>
|
||||
</record>
|
||||
|
||||
<record id="hr_payslip_line_providentfund1" model="hr.salary.rule">
|
||||
<record id="hr_salary_rule_providentfund1" model="hr.salary.rule">
|
||||
<field name="amount_select">percentage</field>
|
||||
<field eval="120" name="sequence"/>
|
||||
<field eval="-12.5" name="amount_percentage"/>
|
||||
<field name="amount_percentage_base">contract.wage</field>
|
||||
<field name="code">PF</field>
|
||||
<field name="category_id" ref="hr_payroll.DED"/>
|
||||
<field name="register_id" ref="hr_provident_fund_register"/>
|
||||
<field name="name">Provident Fund</field>
|
||||
</record>
|
||||
|
||||
|
@ -57,6 +78,7 @@
|
|||
<field name="quantity">worked_days.WORK100.number_of_days</field>
|
||||
<field name="code">MA</field>
|
||||
<field name="category_id" ref="hr_payroll.ALW"/>
|
||||
<field name="register_id" ref="hr_meal_voucher_register"/>
|
||||
<field name="name">Meal Voucher</field>
|
||||
<field name="sequence" eval="16"/>
|
||||
</record>
|
||||
|
@ -89,7 +111,7 @@
|
|||
<record id="structure_001" model="hr.payroll.structure">
|
||||
<field name="code">ME</field>
|
||||
<field name="name">Marketing Executive</field>
|
||||
<field eval="[(6, 0, [ref('hr_payslip_line_houserantallowance1'), ref('hr_payslip_line_convanceallowance1'),ref('hr_payslip_line_professionaltax1'),ref('hr_payslip_line_providentfund1')])]" name="rule_ids"/>
|
||||
<field eval="[(6, 0, [ref('hr_salary_rule_houserentallowance1'), ref('hr_salary_rule_convanceallowance1'),ref('hr_salary_rule_professionaltax1'),ref('hr_salary_rule_providentfund1')])]" name="rule_ids"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="parent_id" ref="structure_base"/>
|
||||
</record>
|
||||
|
@ -103,6 +125,7 @@
|
|||
</record>
|
||||
|
||||
<!-- Employee -->
|
||||
|
||||
<record id="hr_employee_bonamy0" model="hr.employee">
|
||||
<field eval="0" name="manager"/>
|
||||
<field eval="1.0" name="time_efficiency"/>
|
||||
|
@ -113,6 +136,7 @@
|
|||
</record>
|
||||
|
||||
<!-- Employee Contract -->
|
||||
|
||||
<record id="hr_contract_firstcontract1" model="hr.contract">
|
||||
<field name="name">Marketing Executive Contract</field>
|
||||
<field name="type_id" ref="hr_contract.hr_contract_type_emp"/>
|
||||
|
|
|
@ -144,6 +144,8 @@
|
|||
<field name="quantity" string="Quantity/Rate"/>
|
||||
<field name="amount"/>
|
||||
<field name="total"/>
|
||||
<field name="amount_select" invisible="1"/>
|
||||
<field name="register_id" invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -196,6 +198,7 @@
|
|||
<newline/>
|
||||
<group col="8" colspan="4" expand="0" string="Group By...">
|
||||
<filter string="Salary Rule Category" icon="terp-camera_test" name="category_id" context="{'group_by':'category_id'}"/>
|
||||
<filter string="Contribution Register" name="register_id" icon="terp-folder-yellow" context="{'group_by':'register_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Amount Type" name="amount_select" icon="terp-stock_symbol-selection" context="{'group_by':'amount_select'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
|
@ -205,7 +208,6 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="view_hr_payslip_tree" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.tree</field>
|
||||
<field name="model">hr.payslip</field>
|
||||
|
@ -523,7 +525,7 @@
|
|||
id="act_hr_employee_payslip_list"
|
||||
groups="base.group_hr_manager"/>
|
||||
|
||||
<!-- Salary Rules -->
|
||||
<!-- Salary Rules -->
|
||||
|
||||
<record id="hr_salary_rule_tree" model="ir.ui.view">
|
||||
<field name="name">hr.salary.rule.tree</field>
|
||||
|
@ -551,7 +553,7 @@
|
|||
<field name="category_id"/>
|
||||
<field name="sequence" />
|
||||
<field name="active"/>
|
||||
<field name="appears_on_payslip" attrs="{'readonly':[('company_contribution','=', True)]}" />
|
||||
<field name="appears_on_payslip"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<notebook colspan="6">
|
||||
|
@ -626,69 +628,69 @@
|
|||
|
||||
<menuitem id="menu_action_hr_salary_rule_form" action="action_salary_rule_form" parent="payroll_configure" sequence="12"/>
|
||||
|
||||
<act_window domain="[('slip_id', '=', active_id)]" id="act_payslip_lines" name="Payslip Lines" res_model="hr.payslip.line" src_model="hr.payslip"/>
|
||||
<act_window domain="[('slip_id', '=', active_id)]" context="{'search_default_register_id': 1}" id="act_payslip_lines" name="Payslip Lines" res_model="hr.payslip.line" src_model="hr.payslip"/>
|
||||
|
||||
<record id="hr_payslip_run_filter" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.run.search</field>
|
||||
<field name="model">hr.payslip.run</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Payslips Group">
|
||||
<field name="name"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_end"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="hr_payslip_run_tree" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.run.tree</field>
|
||||
<field name="model">hr.payslip.run</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Payslips Run">
|
||||
<field name="name"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_end"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="hr_payslip_run_form" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.run.form</field>
|
||||
<field name="model">hr.payslip.run</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Payslips Run">
|
||||
<group col="6" colspan="4">
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="credit_note"/>
|
||||
<record id="hr_payslip_run_filter" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.run.search</field>
|
||||
<field name="model">hr.payslip.run</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Payslips Group">
|
||||
<field name="name"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_end"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Payslips">
|
||||
<field name="slip_ids" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
</notebook>
|
||||
<group col="6" colspan="4">
|
||||
<field name="state"/>
|
||||
<button name="%(action_hr_payslip_by_employees)d" type="action" states="draft" icon="gtk-execute" string="Generate Payslips" />
|
||||
<button name="close_payslip_run" type="object" icon="gtk-jump-to" string="Close" states="draft"/>
|
||||
<button string="Set to Draft" icon="terp-stock_effects-object-colorize" name="draft_payslip_run" type="object" states="close"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_hr_payslip_run_tree" model="ir.actions.act_window">
|
||||
<field name="name">Payslips Run</field>
|
||||
<field name="res_model">hr.payslip.run</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="hr_payslip_run_tree"/>
|
||||
<field name="search_view_id" ref="hr_payslip_run_filter"/>
|
||||
</record>
|
||||
<menuitem action="action_hr_payslip_run_tree" id="menu_hr_payslip_run" parent="menu_hr_root_payroll"/>
|
||||
<record id="hr_payslip_run_tree" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.run.tree</field>
|
||||
<field name="model">hr.payslip.run</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Payslips Run">
|
||||
<field name="name"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_end"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="hr_payslip_run_form" model="ir.ui.view">
|
||||
<field name="name">hr.payslip.run.form</field>
|
||||
<field name="model">hr.payslip.run</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Payslips Run">
|
||||
<group col="6" colspan="4">
|
||||
<field name="name" colspan="4"/>
|
||||
<field name="credit_note"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_end"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Payslips">
|
||||
<field name="slip_ids" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
</notebook>
|
||||
<group col="6" colspan="4">
|
||||
<field name="state"/>
|
||||
<button name="%(action_hr_payslip_by_employees)d" type="action" states="draft" icon="gtk-execute" string="Generate Payslips" />
|
||||
<button name="close_payslip_run" type="object" icon="gtk-jump-to" string="Close" states="draft"/>
|
||||
<button string="Set to Draft" icon="terp-stock_effects-object-colorize" name="draft_payslip_run" type="object" states="close"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_hr_payslip_run_tree" model="ir.actions.act_window">
|
||||
<field name="name">Payslips Run</field>
|
||||
<field name="res_model">hr.payslip.run</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="hr_payslip_run_tree"/>
|
||||
<field name="search_view_id" ref="hr_payslip_run_filter"/>
|
||||
</record>
|
||||
<menuitem action="action_hr_payslip_run_tree" id="menu_hr_payslip_run" parent="menu_hr_root_payroll"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -54,6 +54,7 @@ class contribution_register_report(report_sxw.rml_parse):
|
|||
"LEFT JOIN hr_payslip AS hp on (pl.slip_id = hp.id) "\
|
||||
"WHERE (hp.date_from >= %s) AND (hp.date_to <= %s) "\
|
||||
"AND pl.register_id = %s "\
|
||||
"AND hp.state = 'done' "\
|
||||
"ORDER BY pl.slip_id, pl.sequence",
|
||||
(self.date_from, self.date_to, obj.id))
|
||||
payslip_lines = [x[0] for x in self.cr.fetchall()]
|
||||
|
|
|
@ -222,7 +222,7 @@
|
|||
<para style="P15">Total:</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="P11">[[ formatLang(abs(sum_total())) ]] [[o.company_id and o.company_id.currency_id.symbol or '']]</para>
|
||||
<para style="P11">[[ formatLang(sum_total()) ]] [[o.company_id and o.company_id.currency_id.symbol or '']]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
|
|
@ -27,17 +27,6 @@ from osv import fields, osv
|
|||
from tools import config
|
||||
from tools.translate import _
|
||||
|
||||
|
||||
class contrib_register(osv.osv):
|
||||
_inherit = 'hr.contribution.register'
|
||||
_description = 'Contribution Register'
|
||||
|
||||
_columns = {
|
||||
'account_id': fields.many2one('account.account', 'Account'),
|
||||
'analytic_account_id':fields.many2one('account.analytic.account', 'Analytic Account'),
|
||||
}
|
||||
contrib_register()
|
||||
|
||||
#class account_move_line(osv.osv):
|
||||
#
|
||||
# _inherit = 'account.move.line'
|
||||
|
@ -84,14 +73,13 @@ class hr_payslip(osv.osv):
|
|||
#TODO: to correct
|
||||
def process_sheet(self, cr, uid, ids, context=None):
|
||||
move_pool = self.pool.get('account.move')
|
||||
movel_pool = self.pool.get('account.move.line')
|
||||
invoice_pool = self.pool.get('account.invoice')
|
||||
period_pool = self.pool.get('account.period')
|
||||
timenow = time.strftime('%Y-%m-%d')
|
||||
|
||||
for slip in self.browse(cr, uid, ids, context=context):
|
||||
line_ids = []
|
||||
|
||||
debit_sum = 0.0
|
||||
credit_sum = 0.0
|
||||
if not slip.period_id:
|
||||
search_periods = period_pool.search(cr, uid, [('date_start','<=',slip.date_from),('date_stop','>=',slip.date_to)], context=context)
|
||||
if not search_periods:
|
||||
|
@ -102,50 +90,74 @@ class hr_payslip(osv.osv):
|
|||
|
||||
name = _('Payslip of %s') % (slip.employee_id.name)
|
||||
move = {
|
||||
'narration': name,
|
||||
'date': timenow,
|
||||
'ref': slip.number,
|
||||
'journal_id': slip.journal_id.id,
|
||||
'period_id': period_id,
|
||||
'date': timenow,
|
||||
'ref':slip.number,
|
||||
'narration': name
|
||||
}
|
||||
for line in slip.line_ids:
|
||||
if line.salary_rule_id.accounting_select != 'none':
|
||||
amt = slip.credit_note and -line.total or line.total
|
||||
partner_id = False
|
||||
name = line.name
|
||||
debit_account_id = line.salary_rule_id.account_debit.id
|
||||
credit_account_id = line.salary_rule_id.account_credit.id
|
||||
if line.salary_rule_id.accounting_select == 'third_party':
|
||||
if line.salary_rule_id.register_id:
|
||||
credit_account_id = line.salary_rule_id.register_id.account_id.id
|
||||
else:
|
||||
partner_id = slip.employee_id.partner_id.id
|
||||
debit_line = (0,0,{
|
||||
'name': line.name,
|
||||
'account_id': debit_account_id,
|
||||
'debit': amt > 0.0 and amt or 0.0,
|
||||
'credit': amt < 0.0 and -amt or 0.0,
|
||||
'date': timenow,
|
||||
'journal_id': slip.journal_id.id,
|
||||
'period_id': period_id,
|
||||
})
|
||||
credit_line = (0,0,{
|
||||
'date': timenow,
|
||||
'journal_id': slip.journal_id.id,
|
||||
'period_id': period_id,
|
||||
'name': name,
|
||||
'partner_id': partner_id,
|
||||
'account_id': credit_account_id,
|
||||
'debit': amt < 0.0 and -amt or 0.0,
|
||||
'credit': amt > 0.0 and amt or 0.0,
|
||||
})
|
||||
if debit_account_id:
|
||||
line_ids.append(debit_line)
|
||||
if credit_account_id:
|
||||
line_ids.append(credit_line)
|
||||
amt = slip.credit_note and -line.total or line.total
|
||||
partner_id = False
|
||||
debit_account_id = line.salary_rule_id.account_debit.id
|
||||
credit_account_id = line.salary_rule_id.account_credit.id
|
||||
debit_line = (0, 0, {
|
||||
'name': line.name,
|
||||
'date': timenow,
|
||||
'partner_id': partner_id,
|
||||
'account_id': debit_account_id,
|
||||
'journal_id': slip.journal_id.id,
|
||||
'period_id': period_id,
|
||||
'debit': amt > 0.0 and amt or 0.0,
|
||||
'credit': amt < 0.0 and -amt or 0.0,
|
||||
})
|
||||
credit_line = (0, 0, {
|
||||
'name': line.name,
|
||||
'date': timenow,
|
||||
'partner_id': partner_id,
|
||||
'account_id': credit_account_id,
|
||||
'journal_id': slip.journal_id.id,
|
||||
'period_id': period_id,
|
||||
'debit': amt < 0.0 and -amt or 0.0,
|
||||
'credit': amt > 0.0 and amt or 0.0,
|
||||
})
|
||||
if debit_account_id:
|
||||
line_ids.append(debit_line)
|
||||
debit_sum += debit_line[2]['debit']
|
||||
if credit_account_id:
|
||||
line_ids.append(credit_line)
|
||||
credit_sum += credit_line[2]['credit']
|
||||
|
||||
if debit_sum > credit_sum:
|
||||
adjust_credit = (0, 0, {
|
||||
'name': _('Adjustment Entry'),
|
||||
'date': timenow,
|
||||
'partner_id': partner_id,
|
||||
'account_id': slip.journal_id.default_credit_account_id.id,
|
||||
'journal_id': slip.journal_id.id,
|
||||
'period_id': period_id,
|
||||
'debit': 0.0,
|
||||
'credit': debit_sum - credit_sum,
|
||||
})
|
||||
line_ids.append(adjust_credit)
|
||||
elif debit_sum < credit_sum:
|
||||
adjust_debit = (0, 0, {
|
||||
'name': _('Adjustment Entry'),
|
||||
'date': timenow,
|
||||
'partner_id': partner_id,
|
||||
'account_id': slip.journal_id.default_debit_account_id.id,
|
||||
'journal_id': slip.journal_id.id,
|
||||
'period_id': period_id,
|
||||
'debit': credit_sum - debit_sum,
|
||||
'credit': 0.0
|
||||
})
|
||||
line_ids.append(adjust_debit)
|
||||
|
||||
move.update({'line_id': line_ids})
|
||||
move_id = move_pool.create(cr, uid, move, context=context)
|
||||
self.write(cr, uid, [slip.id], {'move_id': move_id}, context=context)
|
||||
if slip.journal_id.entry_posted:
|
||||
move_pool.post(cr, uid, [move_id], context=context)
|
||||
return super(hr_payslip, self).process_sheet(cr, uid, [slip.id], context=context)
|
||||
|
||||
#TODO: to clean: the verofying doesn't do anything in the accounting..
|
||||
|
@ -381,7 +393,6 @@ hr_payslip()
|
|||
class hr_salary_rule(osv.osv):
|
||||
_inherit = 'hr.salary.rule'
|
||||
_columns = {
|
||||
'accounting_select':fields.selection([('none', 'No Accounting Entries'), ('third_party', 'To Employee or contribution Register'), ('yes','Regular Entries')], 'Accounting Entries Option'),
|
||||
'analytic_account_id':fields.many2one('account.analytic.account', 'Analytic Account'),
|
||||
'account_tax_id':fields.many2one('account.tax.code', 'Tax Code'),
|
||||
'account_debit': fields.many2one('account.account', 'Debit Account'),
|
||||
|
|
|
@ -18,20 +18,6 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="hr_contibution_register_inherit_form">
|
||||
<field name="name">hr.contribution.register.inherit.form</field>
|
||||
<field name="model">hr.contribution.register</field>
|
||||
<field name="inherit_id" ref="hr_payroll.hr_contribution_register_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook" position="before">
|
||||
<newline/>
|
||||
<field name="account_id" />
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Adding Account fields to the Salary Rules -->
|
||||
|
||||
<record id="hr_salary_rule_form_inherit" model="ir.ui.view">
|
||||
|
@ -41,11 +27,10 @@
|
|||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page[@string='Child Rules']" position="after">
|
||||
<page string="Accounting">
|
||||
<field name="accounting_select" />
|
||||
<field name="account_debit" />
|
||||
<field name="account_credit"/>
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="account_tax_id"/>
|
||||
<field name="account_debit" />
|
||||
<field name="account_credit"/>
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="account_tax_id"/>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
|
@ -59,11 +44,11 @@
|
|||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="/form/notebook/page/group/field[@name='advantages']" position="after">
|
||||
<separator colspan="4" string="Accounting"/>
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="journal_id"/>
|
||||
</xpath>
|
||||
<xpath expr="/form/notebook/page/group/field[@name='advantages']" position="after">
|
||||
<separator colspan="4" string="Accounting"/>
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="journal_id"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
Loading…
Reference in New Issue