用户中心
所有文章
组织操作手册
人事操作手册
入职操作手册
假勤操作手册
薪酬操作手册
预算管理
薪酬管理
薪酬设置
个税管理
社保公积金
个税常见问题
薪酬系统自定义字段公式配置说明
绩效操作手册
团队管理操作手册
员工自助操作手册
账号权限操作手册
审批流配置操作手册
生态(IM)操作手册
第三方集成操作手册
常见问题
升级公告
薪酬系统自定义字段公式配置说明
最后更新于 2024/05/20   阅读数 343

1.业务函数

1.1 取假勤日历天数()

返回指定期间内,员工所属出勤规则的工作日历天数

取假勤日历天数(开始日期,结束日期,日期类型)

开始日期:日期型 必填

结束日期:日期型 必填

日期类型:必填,自然日;工作日含法定节假日;工作日不含法定节假日;法定节假日

日期规则:

  1. 开始日期不得早于2019年1月1日

  2. 结束日期不得晚于当前日期下一年的12月31日

场景1:客服专员张三,当月10号入职,走排班规则,算当月一共有多少工作日,用于计算日薪

公式:取假勤日历天数(任职信息.入职日期,薪酬核算.期间结束日期,"工作日不含法定节假日")

其他:如果需要取当前核算周期内的工作日不含法定节假日,也可以使用【算薪数据】-【出勤月报】-【日历工作日天数】

1.2 取标准日历天数()

返回指定期间内,标准工作日历天数

取标准日历天数(开始日期,结束日期,日期类型)

开始日期:日期型 必填

结束日期:日期型 必填

日期类型:必填,自然日;工作日含法定节假日;工作日不含法定节假日;法定节假日

日期规则:

  1. 开始日期不得早于2019年1月1日

  2. 结束日期不得晚于当前日期下一年的12月31日

场景1:正常员工张三,当月10号入职,算当月一共有多少工作日,用于计算日薪

公式:取标准日历天数(任职信息.入职日期,薪酬核算.期间结束日期,"工作日含法定节假日")

1.3 取工资项累计值()

返回指定核算规则、指定项目在指定期间薪酬核算的累计结果

取值逻辑:已归档状态的结果,且不包含当月的计算结果

取工资项累计值(指定核算规则, 指定项目, 指定期间)

指定核算规则:必填,获取全部方案结果时,填写「全部规则」

指定项目:必填,指定工资项目(数字类型)

指定期间:必填,上年、上月、当年,其他期间直接填写数字:2、3、4、5、6...(不包含计算当月的数据)

场景1:当年累计事假天数小于等于10天,事假按日工资的30%扣除;当年累计事假天数大于10天且小于等于30天,事假按日工资的50%扣除;当年累计事假天数大于30天,事假按日工资的70%扣除

公式:增加工资项目【累计事假次数(截止上月)】、【累计事假次数】、【病假扣款】

【累计事假次数(截止上月)】 =

取工资项累计值("全部规则",工资项目.病假天数,"当年")

【累计事假次数】= 工资项目.累计事假次数(截止上月) +

工资项目.累计事假次数

【病假扣款】=

if 0 < 工资项目.累计事假次数 and 工资项目.累计事假次数 <= 10

then 工资项目.病假天数 * 工资项目.日工资 * 0.3

else if 10 < 工资项目.累计事假次数 and 工资项目.累计事假次数 <= 30

then 工资项目.病假天数 * 工资项目.日工资 * 0.5

else if 工资项目.累计事假次数 > 30

then 工资项目.病假天数 * 工资项目.日工资 * 0.7

else 0

1.4 是否不为空()

判断是否不为空,如果不空返回True(是),否则返回False(否)

是否不为空(值)

值:必填,可使用任意字段

场景1:员工如果存在最后发薪日,则按0计算,如果不存在,则发放补贴

公式:

if 是否不为空(薪资档案.最后发薪日) = "是"

then 0

else 工资项目.补贴

1.5 按天计算然后求和()

入离职、调薪时,如需要薪酬折算,则使用此函数

根据薪酬核算的期间,拆分到每天,计算每天的结果,然后求和汇总

按天计算然后求和(公式)

公式:填写具体的计算逻辑

场景1:当前计算6月1日-6月30日工资,张三6月12日调薪,6月1日-6月11日按照调薪前工资计算,6月12日-6月30日按照调薪后工资计算,需要计算张三6月份每一天的日薪,将每一天的日薪累加起来,得到当月的工资,日薪以工作日+法定节假日为计算基准

公式:

按天计算然后求和(

if 系统变量.日历日期类型="工作日" or 系统变量.日历日期类型="法定节假日"

then 薪资档案.基本薪资 / 取标准日历天数(薪酬核算.期间开始日期,薪酬核算.期间结束日期,"工作日含法定节假日")

else 0)

其他:一般用于配置基本工资等固定薪资的公式,需要询问客户当月入离职、当月调薪的具体规则、日薪计算的基准、是否不同类型的人员基准不同(排班的和正常的)

1.6 是否归属于部门()

判断员工当前任职的最新部门是否归属于指定部门,如果属于返回True(是),否则返回False(否)

是否归属于部门(指定部门)

指定部门:填写部门全称,用双引号引用

场景1:张三所属部门

外部客户服务中心-非洲服务部-基础设施组,非洲服务部的员工都享受高温补贴

公式:工资项目【高温补贴】

【高温补贴】=

if 是否归属于部门(非洲服务部) = "是"

then 8000

else 0

2.日期函数

2.1 Day()

获取指定日期中的"日"

Day(日期)

日期:可使用日期、日期时间类型字段或常量(yyyy/MM/dd或yyyy/MM/dd

HH:mm),常量用双引号引用

场景1:算薪当月入职的,入职日期在15日之前的,当月可享受整月补贴,否则不享受补贴

公式:工资项目【整月补贴】

if Day(任职信息.入职日期) < 15

then 2000

else 0

2.2 Month()

获取指定日期字段中的"月"

Month(日期)

日期:可使用日期、日期时间类型字段或常量(yyyy/MM/dd或yyyy/MM/dd

HH:mm),常量用双引号引用

场景1:每年1月重新计算累计收入,否则按月累计

公式:工资项目【累计收入】

if Month(薪酬核算.发薪所属年月) = 1

then 0

else 工资项目.累计收入(截止上月)+ 工资项目.累计收入

2.3 Year()

获取指定日期字段中的"年"

Month(日期)

日期:可使用日期、日期时间类型字段或常量(yyyy.MM.dd或yyyy.MM.dd

HH:mm),常量用双引号引用

场景1:2020年之前入职的员工,享受忠诚奖

公式:工资项目【忠诚奖】

if Year(任职信息.入职日期) < 2021

then 1500

else 0

2.4 Days()

获取两个日期相差的天数

Days(日期1,日期2)

日期1、日期2:可使用日期、日期时间类型字段或常量(yyyy.MM.dd,yyyy-mm-dd,yyyy/mm/dd),常量用双引号引用

场景1:无

公式:Days("2020.01.01", 基本信息.参加工作时间)

2.5 Months()

获取两个日期相差的月数

Months(日期1,日期2)

日期1、日期2:可使用日期、日期时间类型字段或常量(yyyy.MM.dd,yyyy-mm-dd,yyyy/mm/dd),常量用双引号引用

场景1:无

公式:Months("2020.01.01", 基本信息.参加工作时间)

2.6 Years()

获取两个日期相差的年数

Years(日期1,日期2)

日期1、日期2:可使用日期、日期时间类型字段或常量(yyyy.MM.dd,yyyy-mm-dd,yyyy/mm/dd),常量用双引号引用

场景1:无

公式:Years("2020.01.01", 基本信息.参加工作时间)

场景2:司龄计算,司龄一般关系到司龄工资的算法,一般为满xx年,有一定的奖励,所以目标是算出员工入职到发薪一共是第几年,员工司龄满或小于1年一年有100司龄补贴,之后每年增加50

公式:新增工资项目【在职月数】、【司龄-年】、【司龄补贴】

【在职月数】= Years(薪酬核算.期间结束日期, 任职信息.入职日期) * 12 +

Months(薪酬核算.期间结束日期, 任职信息.入职日期)

【司龄-年】= 【在职月数】/ 12

【司龄补贴】=

if 工资项目.司龄-年 > 1

then (工资项目.司龄-年 - 1) * 50 + 100

else 100

3.数学函数

3.1 Round()

按指定的位数对数值进行四舍五入

Round(数值 ,保留位数)

数值:可使用数值类型字段或常量

保留位数:必填,整数

场景1:工资项目.养老保险的计算结果四舍五入保留两位小数

公式:Round(工资项目.个人养老保险, 2)

结果:890.126 -> 890.13

3.2 RoundUp()

按指定的位数将数值向上舍入到最接近的整数或小数

RoundUP(数值 ,保留位数)

数值:可使用数值类型字段或常量

保留位数:整数

场景1:工资项目.养老保险的计算结果向上补足到两位小数

公式:RoundUp(工资项目.个人养老保险, 2)

结果:890.121 -> 890.13

3.3 RoundDown()

按指定的位数将数值向下舍入到最接近的整数或小数

RoundDown(数值 ,保留位数)

数值:可使用数值类型字段或常量

保留位数:整数

场景1:工资项目.养老保险的计算结果向下取舍到两位小数

公式:RoundDown(工资项目.个人养老保险, 2)

结果:890.129 -> 890.12

4.统计函数

4.1 Min()

取结果中的最小值

Min(数值1 ,数值2,数值3....)

数值:可使用数值类型字段或常量

场景1:工资项目.养老保险基数,上限为28000

公式:Min(工资项目.养老保险基数, 28000)

结果:工资项目.养老保险基数 = 30000,公式结果 = 28000

4.2 Max()

取结果中的最大值

Max(数值1 ,数值2,数值3....)

数值:可使用数值类型字段或常量

场景1:一般用于防止负数的产生,出勤工资 = 应发工资 - 扣款合计

公式:Max(工资项目.出勤工资, 0)

结果:工资项目.出勤工资 = -300,公式结果 = 0

5.其他函数

5.1 Def()

自定义变量,函数结束需加分号

Def(变量, 表达式);

变量:必填,英文、中文均可

表达式:必填,通过运算符连接的表达式,也可使用由"如果...那么...否则"

场景1:一般用于计算公式中需要添加临时变量,且不想单独创建一个新的工资项目时,例如如果员工工资低于最低工资标准,则发放补贴

公式:工资项目【最低工资补贴】

Def(低于最低工资标准, if 工资项目.应发工资>3000 then "否" else "是"); //这里自定义"最低工资标准"

if 低于最低工资标准 ="是"

then 5000

else 0

未能解决您的问题?请联系
本篇目录

1.业务函数

1.1 取假勤日历天数()

1.2 取标准日历天数()

1.3 取工资项累计值()

1.4 是否不为空()

1.5 按天计算然后求和()

1.6 是否归属于部门()

2.日期函数

2.1 Day()

2.2 Month()

2.3 Year()

2.4 Days()

2.5 Months()

2.6 Years()

3.数学函数

3.1 Round()

3.2 RoundUp()

3.3 RoundDown()

4.统计函数

4.1 Min()

4.2 Max()

5.其他函数

5.1 Def()