• 软件版本:用友U8V13.0版本,
• 数据库版本:SQL2017
• 模块:人力资源
• 补丁:最新的WA/HM补丁
1.2 客户问题
人员档案里通过预警与通知计算出来了工龄,那么如何在人员档案体现工龄工资呢?
解决方案:
首先在人力资源-HR基础设置里-信息结构-人员基本信息表里点击增加信息项叫做工龄工资
注意:该信息项的数据类型为数值型。
然后可以看到在基础设置-人员档案里双击人员在人事附加信息里可看到已添加上工龄工资字段。
接下来根据系统自带的工 龄项目,通过规则设置, 用if函数取值。
然后到人力资源-HR基础设置-规则设置-计算公式-业务单据-人事信息管理-人员档案里增加并根 据定义规则 设置公式
根据客户提供的条件设置公式,以下根据之前碰到的客户实际数据做以下测试
首先系统自带的工龄是按月计算的,现在需要将月转换为年,在规则设置找到 工龄的公式将公式改为WorkMonths( 人员基本信息表.参加工作时间,Today())/12
最后我们来根据条件通过case语句来设置工龄工资的计算公式
分情况
如果 人员基本信息表.工龄<1
那么 100 如果 人员基本信息表.工龄<5 并且 人 员基本信息表.工龄=1 那么人员基本信息表.工龄*100
否则 人员基本信息表.工龄*100
结束
然后我们增加人员档案,维护好参加工作时间,然后预警与定时任务里启用并执行工龄的计算 公式看是否可以读取到数据
发现只取到了工龄但是工龄工资里面没有取到数???
是因为工龄已经设置了函数取值,所以再直接通过工龄去取工龄工资便有可能就取不到值,以 下提供两种方案:
第一种 系统算出工龄工资后,将工龄删除 ,然后重新输入工龄。然后将通过工龄反算 出工龄工资。
此种方法的好处是操作简单,但是 比较繁琐,如果碰到人员上百条, 则过程量太大 此时不妨尝试第二种 方案
第二种 修改公式,规则设置里,工龄工资的公式里用工龄的函数代替工资这个项目
此种方法的好处是只需要维护好参 加工作时间便可以立刻反算出工龄 工资,不需要再到预警与通知里进 行启用-执行,但是对系统里已经存 在的人员档案不生效。
案例总结:
人员档案里需要通过规则设置实现 人员档案里字段间的逻辑关系按以下步骤
1、在人力资源-HR基础设置里-信息结构-人员基本信息表里点击增加信息项A B C
2、人力资源-HR基础设置-规则设置-计算公式-业务单据-人事信息管理-人员档案里增加并根据定义规则 设置 公式
3、人员档案里录入数据,检查数据计算的是否准确
案例拓展:
1、维护了参加工作时间,但是系统没有自动计算出工龄?
答:预警与通知—预警和定时任务—定时任务源—年龄、工龄、司龄计算点击执行,再去查看人员档案
2、系统自带的工龄公式计算出来的是月份,现在想要按照年显示,如何设置?
答:在HR基础设置-规则设置点击计算公式可以看到工龄的计算公式,若按年显示的话需要在后面加上 /12 WorkMonths( 人员基本信息表.参加工作时间,Today())/12
3、设置了公式A=工龄*100,执行完任务后工龄计算出来了,但是A没有计算出来?
答:1、工龄已经设置了公式,如果直接根据规则设置取A,可能会取不到建议1、系统算出工龄工资后,将工龄删除 ,然 后重新输入工龄。然后将通过工龄反算出A 2、修改公式,规则设置里,工龄工资的公式里用工龄的函数代替工资这个项 目 例如 WorkMonths( 人员基本信息表.参加工作时间,Today())/12 *200 2、如果是已经存在的人员,再去设置公式对原先的人员是不生效的
4、在人员档案里增加了一个自定义项并且设置了公式,能否设置只能根据公式算出,不能手工输入?
答:在人员档案里双击进去,点击格式设置,找到该自定义项,勾选禁止编辑