资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,05 十一月 2026,金蝶HR产品培训-系统内置公式函数算法介绍,提纲,内置公式介绍,内置函数,算法分析,业务分析,取职员打卡记录函数,生成假期额度,考勤汇总函数,个性化公式实现,考勤内置公式介绍,考勤计算,考勤汇总,假期额度生成,假期额度重算,考勤自动计算,实时重算假期额度,考勤重算,生成自然年度假期额度,考勤计算相关公式区别,考勤计算,考勤计算:不仅计算考勤异常,冲消假期等,还进行智能排班,取职员打卡记录,考勤重算:只需要计算考勤异常,冲消假期等,考勤自动计算:由于自动计算是系统每天自动执行,所以该公式只计算当天的考勤记录,假期额度相关公式区别,额度生成,生成假期额度:根据出生日期生成全体职员的年假额度等,生成自然年度假期额度:根据指定的基准日期生成全体职员的年假额度等,两个公式共用的是相同函数,主要差别就是传递的参数和年假额度生成方式不一样,假期重算相关公式区别,假期重算,重算假期额度:重算所有人的假期额度,ATS实时重算假期额度:重算某个人的假期额度,实时重算一般保存,作废假期单时使用,考虑到性能,只重算所选职员的假期额度,提纲,内置公式介绍,内置函数,算法分析,业务分析,取职员打卡记录函数,生成假期额度,考勤汇总函数,个性化公式实现,内置函数算法分析_考勤计算,考勤智能排班,取职员打卡记录,原始考勤异常处理,补签卡计算,计算考勤异常处理,初始化冲消假期,取假期单计算,取出差单计算,取调休单计算,取停工单计算,内置函数算法分析_考勤汇总,汇总,迟到,早退,年假,病假,旷工,产假,婚假,加班,用户可以自定义字段,然后汇总感兴趣的内容,提纲,内置公式介绍,内置函数,算法分析,业务分析,取职员打卡记录函数,生成假期额度,考勤汇总函数,个性化公式实现,系统内置考勤函数公式类别,考勤计算,考勤汇总,假期额度生成,假期额度重算,考勤自动计算,考勤重算,生成自然年度假期额度,员工智能排班函数,考勤智能排班函数可实现职员排班的智能化。,算法:取指定时间段内设置了智能排班且未排班的职员,从打卡数据中获取职员最早上班时间,最早上班时间和轮班规则中的班次第一段上班时间比较,取时间最接近的班次作为模糊匹配上的班次。如智能排班设置启用每日班次智能判断,周六日按轮班规则判断,则周六周日按轮班规则取到对应的顺序结合轮班规则开始于顺序,获取对应的班次。如启用每日班次智能判断,周六日按日历规则判断。则周六周日按日历取周六周日班次。,按指定范围获取职员/清除指定范围职员临时表,实现分组织单元计算的关键函数,如果想支持分组织单元计算的公式,必包含,方法:添加后,关联#Temp_EmpSelected。,功能:根据组织单元及职员范围条件参数,进行过滤,获得职员过滤表变量,参数:UnitIDs:组织单元ID集合 格式为组织单元ID1,组织单元ID2.,EmpIDs:职员ID(s)字符串,格式为职员ID1,职员ID2.,组织单元ID(s)=UnitIDs,职员ID(s)=EmpIDs,算法:1,获取指定范围的组织单元;,2,定义临时表,用来保存指定范围内的职员,3,如果没有指定需要计算的职员,根据指定的组织单元获取职员,如果指定则取交集,取计算范围内的原始打卡记录,性能和并发考虑,使用临时表取代之前的HR_ATS_OriginalityCardTemp。,功能:获取需要计算范围内的所有原始打卡记录,参数:BeginDate:计算开始时间,DateTime,EndDate:计算结束时间DateTime,算法:1,获取计算范围内需要的原始打卡记录;,2,因为跨天班次的存在,所以取卡时间为=开始时间-1天 并且=最早上班时间)and(打卡记录临时表.打卡时间0 and FLength/si.FLaborHour0 and FLength/si.FLaborHour=1 and FIsHarfDay=0 THEN 1,WHEN FIsHarfDay=1 THEN 0.5,END),提纲,内置公式介绍,内置函数,算法分析,业务分析,取职员打卡记录函数,生成假期额度,考勤汇总函数,个性化公式实现,个性化公式实现,函数,公式,存储过程,公式,函数,函数,函数,函数的粒度越小,重用性越高,公式越灵活,个性化公式示例,需求描述,算法分析,公式实现,有薪假描述,客户规则如下:,有薪假(即年假):,假期周期:1年,假期范围:每年的4月1日至来年的3月31日,有薪假规则描述,以入司日期为判断标准,如果入司满1年者,有薪假为17天;,如果未满1年者过了试用期的职员按月份折算假期。,折算方法:,从入公司当月开始按下表计算:15日前(包括15日)入公司者,该月计作开始月,15日后入公司者,下月计作开始月,有薪假计算结果如下表,4月,5月,6月,7月,8月,9月,10月,11月,12月,1月,2月,3月,17,16,15,14,13,11,9,7,6,4,3,1,算法描述,入司一年以上的假期额度都是17天,需要确认入司不满一年员工月份,还有入司当月日期,比较入司日期后上传对应的额度,实现细节,CONVERT(INT,day(职员_考勤职员视图.入司日期)15,(CONVERT(INT,month(职员_考勤职员视图.入司日期),年假计算函数初始化额度,更新假期额度函数根据判断条件上传对应的额度,有薪假公式实现,复制新增假期额度公式,按要求更改年假函数,参数不用变化,保存即可.,
展开阅读全文