利用Python的三元表达式解决Odoo中工资条中城镇、农村保险的问题
生活随笔
收集整理的這篇文章主要介紹了
利用Python的三元表达式解决Odoo中工资条中城镇、农村保险的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python中沒有像C#中有三元表達式 A?B:C 但在python中可以通過 A if condition else B 的方式來達到同樣的效果。
例如 : 1 if True else 0 輸出 1 ,1 if False else 0 輸出 0
很簡單。
下面我們利用這個三元表達式來解決Odoo中保險計算的問題。
由于國內公司投保時通常要考慮員工的戶口類型問題,我們在系統中本地化了這么一個字段叫做e_hukou_locaiton,它有兩個值,一個urban ,一個rural.
?
那么我們就可以在工資規則中新創建一條規則,然后條件選總為真,在計算的框里填入下面的計算公式:
?
1 result = employee.e_ss_base * 0.105 if employee.e_hukou_location=='urban' else employee.e_ss_base * 0.10?
其中employee.e_ss_base是社保基數,這樣的話既可以通過一條公式來計算出城鎮員工和農村員工的社保金額了,而不必在分別為其創建對應的工資規則。
?
轉載于:https://www.cnblogs.com/kfx2007/p/4514646.html
總結
以上是生活随笔為你收集整理的利用Python的三元表达式解决Odoo中工资条中城镇、农村保险的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 社会主义基本经济规律是经济效益规律
- 下一篇: SASS的一些使用体会(安装-配置-开启