版权所有©1993-2009金蝶软件(中国)有限公司金蝶K/312.1HR产品培训(实施服务类)考勤管理-内置公式函数算法介绍金蝶软件(中国)有限公司K/3产品部HR业务线P2版权所有©1993-2009金蝶软件(中国)有限公司提纲内置公式介绍内置函数算法分析业务分析取职员打卡记录函数生成假期额度考勤汇总函数个性化公式实现P3版权所有©1993-2009金蝶软件(中国)有限公司考勤内置公式介绍考勤计算考勤汇总假期额度生成假期额度重算考勤自动计算实时重算假期额度考勤重算生成自然年度假期额度P4版权所有©1993-2009金蝶软件(中国)有限公司考勤计算相关公式区别考勤计算考勤计算:不仅计算考勤异常,冲消假期等,还进行智能排班,取职员打卡记录考勤重算:只需要计算考勤异常,冲消假期等考勤自动计算:由于自动计算是系统每天自动执行,所以该公式只计算当天的考勤记录P5版权所有©1993-2009金蝶软件(中国)有限公司假期额度相关公式区别额度生成生成假期额度:根据出生日期生成全体职员的年假额度等生成自然年度假期额度:根据指定的基准日期生成全体职员的年假额度等两个公式共用的是相同函数,主要差别就是传递的参数和年假额度生成方式不一样P6版权所有©1993-2009金蝶软件(中国)有限公司假期重算相关公式区别假期重算重算假期额度:重算所有人的假期额度ATS实时重算假期额度:重算某个人的假期额度实时重算一般保存,作废假期单时使用,考虑到性能,只重算所选职员的假期额度P7版权所有©1993-2009金蝶软件(中国)有限公司提纲内置公式介绍内置函数算法分析业务分析取职员打卡记录函数生成假期额度考勤汇总函数个性化公式实现P8版权所有©1993-2009金蝶软件(中国)有限公司内置函数算法分析__考勤计算考勤智能排班取职员打卡记录原始考勤异常处理补签卡计算计算考勤异常处理初始化冲消假期取假期单计算取出差单计算取调休单计算取停工单计算P9版权所有©1993-2009金蝶软件(中国)有限公司内置函数算法分析__考勤汇总汇总迟到早退年假病假旷工产假婚假加班用户可以自定义字段,然后汇总感兴趣的内容P10版权所有©1993-2009金蝶软件(中国)有限公司提纲内置公式介绍内置函数算法分析业务分析取职员打卡记录函数生成假期额度考勤汇总函数个性化公式实现P11版权所有©1993-2009金蝶软件(中国)有限公司系统内置考勤函数公式类别考勤计算考勤汇总假期额度生成假期额度重算考勤自动计算考勤重算生成自然年度假期额度P12版权所有©1993-2009金蝶软件(中国)有限公司员工智能排班函数考勤智能排班函数可实现职员排班的智能化。算法:取指定时间段内设置了智能排班且未排班的职员,从打卡数据中获取职员最早上班时间,最早上班时间和轮班规则中的班次第一段上班时间比较,取时间最接近的班次作为模糊匹配上的班次。如智能排班设置启用每日班次智能判断,周六日按轮班规则判断,则周六周日按轮班规则取到对应的顺序结合轮班规则开始于顺序,获取对应的班次。如启用每日班次智能判断,周六日按日历规则判断。则周六周日按日历取周六周日班次。P13版权所有©1993-2009金蝶软件(中国)有限公司按指定范围获取职员/清除指定范围职员临时表实现分组织单元计算的关键函数,如果想支持分组织单元计算的公式,必包含,方法:添加后,关联#Temp_EmpSelected。功能:根据组织单元及职员范围条件参数,进行过滤,获得职员过滤表变量参数:@UnitIDs:组织单元ID集合格式为'组织单元ID1','组织单元ID2'...@EmpIDs:职员ID(s)字符串,格式为'职员ID1','职员ID2'...组织单元ID(s)=@UnitIDs职员ID(s)=@EmpIDs算法:1,获取指定范围的组织单元;2,定义临时表,用来保存指定范围内的职员3,如果没有指定需要计算的职员,根据指定的组织单元获取职员,如果指定则取交集P14版权所有©1993-2009金蝶软件(中国)有限公司取计算范围内的原始打卡记录性能和并发考虑,使用临时表取代之前的HR_ATS_OriginalityCardTemp。功能:获取需要计算范围内的所有原始打卡记录参数:@BeginDate:计算开始时间,DateTime@EndDate:计算结束时间DateTime算法:1,获取计算范围内需要的原始打卡记录;2,因为跨天班次的存在,所以取卡时间为=开始时间-1天并且结束时间+2天P15版权所有©1993-2009金蝶软件(中国)有限公司取职员打卡记录函数取职员打卡记录函数●函数名称:取职员打卡记录●函数结构:取职员打卡记录(@BeginDate,@EndDate,@Interval)*说明:公式需要调用该函数时必须引用该函数结构,而不是函数的名称。●函数描述:用于计算和判定职员在当天班次的各段工作时间的实际上、下班时间点。●函数参数:@BeginDate:本次计算的开始日期。@EndDate:本次计算的结束日期。@Interval:打卡间隔时间。@Splits:本次计算需要对班次中的前几段上下班时间进行计算(显然段数少则计算速度快)。*说明:调用该函数的公式必须为以上参数提供对应的参数值。P16版权所有©1993-2009金蝶软件(中国)有限公司取职员打卡记录函数取职员打卡记录函数功能:取职员打卡记录函数根据取卡规则,从原始打卡记录中获取职员考勤的上、下班时间。●算法概要:函数根据职员当天工作班次对应的班次定义中规定的各段工作时间的标准上、下班出勤时间点(在[班次定义]中进行设置)以及结合取卡规则(例如:在上班时间点附近有多张卡时如何取卡等),对考勤机提供的职员的原始打卡时间数据进行计算和分析,从而判定出职员当天班次的各段工作时间的实际上、下班时间点。P17版权所有©1993-2009金蝶软件(中国)有限公司取职员打卡记录函数算法:1、取指定时间段内职员的原始打卡记录放入原始打卡记录临时表HR_ATS_OriginalityCardTemp(V12后调整为#TempOriginalityCard),以减小数据量,提高计算速度。2、取5段上、下班时间点的打卡记录:举例说明:第一时间段上班时间。取卡规则:上班打卡1=Min(打卡记录临时表.打卡时间)当(打卡记录临时表.打卡时间=最早上班时间)and(打卡记录临时表.打卡时间标准下班1)P18版权所有©1993-2009金蝶软件(中国)有限公司取职员打卡记录函数公式名称描述考勤计算公式1)考勤计算公式按一定逻辑顺序调用一系列函数,完成考勤智能排班、职员每天各段实际上、下班时间点判定、考勤异常判定、补签卡修改上下班时间以及用请假单、出差、调休、停工单据冲销考勤异常等计算。2)考勤计算公式通过调用取职员打卡记录函数,完成职员每天各段实际上下班时间点的判定。考勤自动计算公式1)考勤自动计算公式与考勤计算公式的功能相同,但是对计算参数做了特殊处理,不需要每次计算时手工输入考勤计算的开始、结束日期。自动计算公式的计算开始、结束日期分别取进行考勤计算时的系统当前日期的前一天和系统当前日期。因此可用于执行计划中设置定时自动计算。*说明:对于考勤计算的开始、结束日期的取日期规则可由用户自定义。●调用了取职员打卡记录函数的系统内置公式有:P19版权所有©1993-2009金蝶软件(中国)有限公司生成假期额度公式额度初始化年假计算(更新假期额度)婚假计算(更新假期额度)产假计算(更新假期额度)护理假计算(更新假期额度)调休假计算(更新假期额度)工伤假计算(更新假期额度)病假、事假、丧假计算(更新假期额度)整理假期额度*说明:生成自然年度假期额度公式设计思路和计算顺序与其相同,只是年假计算的具体规则不同。P20版权所有©1993-2009金蝶软件(中国)有限公司额度初始化函数额度初始化函数●函数名称:额度初始化●函数结构:额度初始化(@CalculateDate,@StandardDate,@IsPosDate)*说明:公式需要调用该函数时必须引用该函数结构,而不是函数的名称。●函数描述:将当前日期以前的额度置为禁用,并将手动修改的额度放入临时表#TempHolidayLimit●函数参数:@BeginDate:本次计算的开始日期。@EndDate:本次计算的结束日期。@IsPosDate:是否以入职日期作为基准日期*说明:调用该函数的公式必须为以上参数提供对应的参数值。P21版权所有©1993-2009金蝶软件(中国)有限公司额度初始化函数算法:1、获取计算时间2、禁用以前的额度3、创建临时表,插入手动修改的记录P22版权所有©1993-2009金蝶软件(中国)有限公司年假计算函数年假计算函数●函数名称:年假计算●函数结构:年假计算(@HolidayTypeCode,@Period,@IsPosDate)*说明:公式需要调用该函数时必须引用该函数结构,而不是函数的名称。●函数描述:初始化额度表,为每个人插入对应假期类型,且额度为零的记录。●函数参数:@HolidayTypeCode:假期类型。@Period:周期。@IsPosDate:是否以入职日期作为基准日期*说明:调用该函数的公式必须为以上参数提供对应的参数值。P23版权所有©1993-2009金蝶软件(中国)有限公司考勤汇总函数考勤汇总函数●函数名称:考勤汇总●函数结构:考勤汇总(@BeginDate,@EndDate)*说明:公式需要调用该函数时必须引用该函数结构,而不是函数的名称。●函数描述:为考勤汇总报表准备职员每天的日汇总记录。基于对应的考勤计算记录进行“再计算”处理。●函数参数:@BeginDate:本次计算的开始日期。@EndDate:本次计算的结束日期。*说明:调用该函数的公式必须为以上参数提供对应的参数值。P24版权所有©1993-2009金蝶软件(中国)有限公司考勤汇总示例要在考勤汇总里汇总丧假和工伤假的天数,请问如何实现?P25版权所有©1993-2009金蝶软件(中国)有限公司示例分析考勤汇总计算更新的是考勤汇总表,考勤汇总表里保存的是日汇总记录。日汇总记录是基于对应日期考勤明细记录的计算结果。在考勤明细表中有类型1、类型2、类型3及对应的3个请假类型的时长。P26版权所有©1993-2009金蝶软件(中国)有限公司解决方法在考勤汇总表中增加[工伤假天数]和[丧假天数]字段,通过修改考勤汇总函数和公式,在考勤汇总时分别统计职员在计算日期范围内工伤假天数和丧假天数。P27版权所有©1993-2009金蝶软件(中国)有限公司具体步骤Step1:在数据字典中找到考勤汇总表,增加两字段“工伤假天数”和“丧假天数”;P28版权所有©1993-2009金蝶软件(中国)有限公司具体步骤Step2:在函数设置中复制新增考勤汇总函数,并将以下内容添加在原函数的最后,并保存;P29版权所有©1993-2009金蝶软件(中国)有限公司生成假期额度额度初始化年假计算……整理假期额度自定义假期类型函数,直接插入P30版权所有©1993-2009金蝶软件(中国)有限公司生成假期额度示例1.在公司服务满1-2年(含2年),可休假5天,最多可分10次休完;2.服务满2-5年(含5年),可休假7天,最多可分14次休完;3.服务满5-10年(含10年),可休假10天,最多可分20次休完;4.服务满10年以上,可休假12天,最多分24次休完;P31版权所有©1993-2009金蝶软件(中国)有限公司示例分析此处只涉及年假修改更改更新年假额度函数即可P32版权所有©1993-2009金蝶软件(中国)有限公司假期额度重算重算额度GUI整天分段连续定量工作流整天1.分别获取假单2,清空对应的已用额度和已用次数3.上传对应的额度和次数P33版权所有©1993-2009金蝶软件(中国)有限公司假期额