跳至内容
菜单
此问题已终结
3 回复
6624 查看

Hii, I am trying to write a python expression in xml file for salary rule. My expression is multi line, so when I import and compute salary, it gives error on python expression...

Python code

unpaid = payslip.total_unpaid_leave_days 
basic = contract.wage
result = basic - (unpaid * basic/30)

xml code

<record id="hr_payroll.hr_rule_basic" model="hr.salary.rule">
<field name="name">Basic Salary</field>
<field name="sequence" eval="1"/>
<field name="code">BASIC</field>
<field name="category_id" ref="hr_payroll.BASIC"/>
<field name="condition_select">none</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">unpaid = payslip.total_unpaid_leave_days basic = contract.wage result = basic - (unpaid * basic/30)</field>
</record>

I put it in one line, it did not work...How to do it here

形象
丢弃
最佳答案

You can write muti line python code in salary rule in xml with proper indentation. Search for .<field name="amount_select">code</field> in your Odoo source code. you will find some example.

形象
丢弃
最佳答案

Hi,

You can use directly like this:

result = contract.wage - (payslip.total_unpaid_leave_days * contract.wage/30)


形象
丢弃
编写者

This is also correct

相关帖文 回复 查看 活动
0
11月 22
2132
2
3月 15
11385
2
2月 23
2332
0
3月 24
2064
3
2月 21
16365