pay slip 可以录入多条 worked_days_line 和 input_line,用来人工调整薪资变动部分,比如销售提成,扣款等。 pay slip 可以包含多个pay slip line 用来存储 Hr.salary.rule 计算出的结果。

 
 

 
 

Hr.salary.rule 定义了薪资规则

 
 

计算工资规则的时候,会使用 localdict 字典里存放的上下文参数

{'categories': categories_obj, 'rules': rules_obj, 'payslip': payslip_obj, 'worked_days': worked_days_obj, 'inputs': input_obj,'employee':employee_id, 'contract ':contract }

也就是这些变量

  • payslip: object containing the payslips
  • employee: hr.employee object
  • contract: hr.contract object
  • rules: object containing the rules code (previously computed)
  • categories: object containing the computed salary rule categories (sum of amount of all rules belonging to that category).
  • worked_days: object containing the computed worked days.
  • inputs: object containing the computed inputs.

 
 

方法compute_rule()计算薪资规则,返回 amount, qty, rate ,三者相乘就是该条规则所定义的薪资,这些规则计算的结果组合在一起,就组成了薪资总额,而这些规则的组合就是薪资结构。

 
 

有三种计算类型

  • Fix
  • Percentage
  • Python code

 
 

如果是Fix,则会使用Python eval执行字段quantity 保存的公式,得到结果 qty

方法compute_rule()返回结果为 fixed_amount, qty, 100.0

例如:

工作日每天10元

 
 

如果是percentage,则会使用Python eval执行字段 amount_percentage_base保存的公式,得到结果percentage_base

方法compute_rule()返回结果为 percentage_base, qty, percentage

例如:

扣减工资的12.5%

 
 

如果是Python code计算方式,则会使用Python eval执行字段 amount_python_compute即Python code保存的公式,得到结果result = xxx

python code的格式必须是 result =

方法compute_rule()返回结果为 result, result_qty or 1.0, result_rate or 100.0

 
 

 
 

例如:

使用inputs数据,计算业务提成

 
 

以及

调用薪资规则分类,并相加

 
 

Odoo HR Payslip的更多相关文章

  1. 26.Odoo产品分析 (三) – 人力资源板块(6) – 工资表(2)

    查看Odoo产品分析系列--目录 接上一篇Odoo产品分析 (三) – 人力资源板块(6) – 工资表(1) 4. 缴纳登记册 在"缴纳登记册"菜单中可以查看所有的登记册并新建:  ...

  2. (24)odoo中模型标识汇总

    * 设置->技术->数据结构->模型                模型    模型描述    类型    瞬态模型account.account    科目    基础对象    ...

  3. odoo qweb 记录

    默认的打印功能修改,比如在动作中的打印功能: 继承抽象模型 models.AbstractModel 重写 _get_report_values class PayslipDetailsReportI ...

  4. odoo:开源 ERP/CRM 入门与实践

    看了这张图,或许你对odoo有了一些兴趣. 这次就是和大家一起交流开源ERP/CRM系统:odoo 对以下读者有帮助:研发.产品.项目.市场.服务.运营.管理等. 一.背景趋势 社交网络.电商O2O: ...

  5. odoo:开源 ERP/CRM 入门与实践 -- 上海嘉冰信息技术公司提供咨询服务

    odoo:开源 ERP/CRM 入门与实践 看了这张图,或许你对odoo有了一些兴趣. 这次Chat就是和大家一起交流开源ERP/CRM系统:odoo 对以下读者有帮助:研发.产品.项目.市场.服务. ...

  6. oddo

    看了这张图,或许你对odoo有了一些兴趣. https://www.cnblogs.com/wterp/p/9093616.html 这次就是和大家一起交流开源ERP/CRM系统:odoo 对以下读者 ...

  7. odoo 人力资源工资计算拓展

    默认情况下 odoo工资条的计算只支持一下几种python变量: # payslip: object containing the payslips# employee: hr.employee ob ...

  8. 25.Odoo产品分析 (三) – 人力资源板块(6) – 工资表(1)

    查看Odoo产品分析系列--目录 工资表不在"应用"中,在搜索该模块时需要将默认的"应用"过滤删除掉.  安装工资表后,出现工资单菜单:  1. 薪资规则类别 ...

  9. 《OdooERP应用与开发基础》试读:第一章-Odoo概述

    文/开源智造联合创始人老杨 本文来自<OdooERP应用与开发基础>的试读章节.书籍尚未出版,请勿转载.欢迎您反馈阅读意见. Odoo是什么   Odoo,以前叫OpenERP,是比利时O ...

随机推荐

  1. Python9-字典-day5

    数据类型划分:可变数据类型,不可变数据类型不可变数据类型:元祖 bool int str 可哈希可变数据类型:list,dic set 不可哈希dict key 必须是不可变数据类型,可哈希 valu ...

  2. CentOS安装mysql5.6

    1. 去官网https://dev.mysql.com/downloads/mysql/5.6.html下载mysql压缩包,选第一个,最大最全的 2. 通过FTP工具比如FileZila存放到目标地 ...

  3. 电脑连接到手机并安装手机驱动usb-driver

    设置真机开发环境需要执行下面几个步骤: 1.在应用的Manifest文件中声明应用是可调试的: 2.打开应用的调试支持: 对于通过Eclipse创建的应用,可以省略步骤2,因为在Eclipse IDE ...

  4. [android开发篇] [应用组件]Intent 和 Intent 过滤器

    https://developer.android.com/guide/components/intents-filters.html Intent 是一个消息传递对象,您可以使用它从其他应用组件请求 ...

  5. 【java基础 8】垃圾收集算法及内存分配策略

    本篇博客,主要介绍GC的收集算法以及根据算法要求所得的内存分配策略! 一.收集算法 收集算法,主要包括四种,分别是:Mark-Sweep(标记-清除).Copying(复制).Mark-Compact ...

  6. HDU-4849 Wow! Such City!,最短路!

    Wow! Such City!    题意:题面很难理解,幸亏给出了提示,敲了一发板子过了.给出x数组y数组和z数组的求法,并给出x.y的前几项,然后直接利用所给条件构造出z数组再构造出C数组即可,C ...

  7. 关于IOS项目QQ空间授权提示安装最新版本的QQ的解决方法!

  8. Shell脚本学习指南 [ 第一、二章 ] 背景知识、入门

    摘要:第一章介绍unix系统的发展史及软件工具的设计原则.第二章介绍编译语言与脚本语言的区别以及两个相当简单但很实用的Shell脚本程序,涵盖范围包括了命令.选项.参数.Shell变量.echo与pr ...

  9. HDU——4549M斐波那契数列(矩阵快速幂+快速幂+费马小定理)

    M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Su ...

  10. BZOJ 1197: [HNOI2006]花仙子的魔法【DP】

    Description 相传,在天地初成的远古时代,世界上只有一种叫做“元”的花.接下来,出 现了一位拥有魔法的花仙子,她能给花附加属性,从此,“元”便不断变异,产生了大千世界千奇百怪的各种各样的花. ...