Odoo HR Payslip

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数据,计算业务提成

?
?

以及

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

?
?

时间: 2024-10-20 08:58:25

Odoo HR Payslip的相关文章

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

看了这张图,或许你对odoo有了一些兴趣. 这次就是和大家一起交流开源ERP/CRM系统:odoo 对以下读者有帮助:研发.产品.项目.市场.服务.运营.管理等. 一.背景趋势 社交网络.电商O2O: 每家企业都将是电子商务企业.精益企业: 每家企业都需要有套软件管理人.财.物,管理信息量,物流和资金流. 二.odoo是什么 odoo不仅仅是开源ERP/CRM: 还是一套伴随企业成长可扩展的商业运营支撑系统: 一个巨大的应用生态系统,有近12500个Apps可供选用. 三.为什么是odoo 相比

odoo qweb 记录

默认的打印功能修改,比如在动作中的打印功能: 继承抽象模型 models.AbstractModel 重写 _get_report_values class PayslipDetailsReportIN(models.AbstractModel): _name = 'report.l10n_in_hr_payroll.report_payslipdetails' _inherit = 'report.hr_payroll.report_payslipdetails' @api.model def

odoo学习总结

                                               odoo10总结 1.odoo中的向导应用. 2.选择多个选项的写发 .py中:employee_ids=fields.Many2many('hr.employee',string=u'用户')-----注意这里的string必须写,否则报错 xml中:<field name='employee_ids'  widget='many2many_tags'/> 3.消息模块应用: 4.时间计算三种方式.

免费开源ERP Odoo实施指南 连载一:Odoo概述

Odoo是什么 Odoo,以前叫OpenERP,是比利时Odoo S.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个Odoo及第三方开发的企业应用模块.Odoo适用于各种规模的企业应用. Odoo功能模块涵盖了各方面的企业应用:CRM.订单处理(销售订单和采购订单).电子商务.MRP.财务.库存.门店零售.项目管理等等. Odoo是完全的模块化结构,初始安装时候,系统没有加载任何应用模块,而后可以根据需要安装对应的功能模块. Odoo是世界上安装数量最多,用

odoo Model字段的参数

odoo Model字段的参数 class Field(object): """ The field descriptor contains the field definition, and manages accesses and assignments of the corresponding field on records. The following attributes may be provided when instanciating a field: :p

odoo fields_view_get

odoo fields_view_get创建动态视图方法 odoo  fields_view_get方法是一个比较有用比较灵活的广泛,如果使用得当,可以做到一些常规方法无法实现的功能,本文列举若干种用法. openerp的视图结构是以XML的格式存放于ir.ui.view表中,属于静态格式,设计之后就固定, 但可以通过在model中重写fields_view_get函数,在视图加载时修改arch属性,动态修改视图的结构 Odoo 开发中经常会遇到这样的需求,对象中根据条件是否显示一个字段.比如如

odoo系统中name_search和name_get用法

自动带出工序和工序序号,两个条件都能搜索,并且两个都带出来显示在前端: # 输入工序序号会自动带出工序名// def name_search(self, cr,user,name='', args=None, operator='ilike', context=None, limit=100): if not args: args=[] args=args[:] ids=[] if name://这两个是搜索条件,根据序号能搜,根据工序名能搜 ids=self.search(cr,user,[(

HR不会告诉你的秘密

原文转载自http://blog.csdn.net/happy08god/article/details/5534326 下面,只是摘出来一些基本的观点. 1. 入职时的工资高低不重要,只要你努力工作,就会得到相应的待遇 刚入职时,你的工资就是你的全部(销售岗位之类的除外),入职之后,大部分待遇都会跟着你的工资而浮动,调整也是基于目前的基数乘以一定的百分比,保险.公积金也和工资有关系. 所以,找工作时,千万不要心软,多争取一些基本工资,这是你刚入职时的所有. 2. 人事部不是你倾诉的对象,当问起

空格&lt;&amp;nbsp;&gt;、水平横线&lt;hr/&gt;、地址&lt;address&gt;和&lt;code&gt;标签

空格:   水平横线: </hr> 地址: 一般网页中会有一些网站的联系地址信息需要在网页中展示出来,这些联系地址信息如公司的地址就可以<address>标签.也可以定义一个地址(比如电子邮件地址).签名或者文档的作者身份. <address>标签间的字体默认为斜体: 例如: <address>本文的作者:<a href="mailto:[email protected]">lilian</a> <code&