- 260.43 KB
- 2022-05-17 13:19:36 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
U8知识库文档U8开发之考勤管理算法扩展-自定义公式知识库属性适用产品考勤管理支持版本V890;V10.0;V10.1;V11.0;V11.1行业通用关键字考勤管理算法扩展、自定义公式最后更新时间2013-10-28作者庞丽辉摘要考勤管理针对企业实际考勤业务的个性化需求,通过将考勤算法分解成多个模块化的标准运行单元,并支持在每个标准单元中间允许用户自定义考勤算法公式来满足企业的个性需求,本文主要讲述如何在考勤算法中自定义公式。概念说明考勤算法:主要包括班段算法,日结果算法,月结果算法,年结果算法。目标通过本文档,使读者能够掌握如下内容:在考勤算法的哪个步骤定义公式,如何定义公式。文档内容一、在哪个算法适合做公式?通常情况下,大多数企业会在日结果算法和月结果汇总算法中设置自定义公式;主要包括以下两个场景:1、日结果算法迟到/早退/旷工/加班/请假/出差/刷卡等——可以在这些算法中设计公式,通过定义的公式来修改系统中计算出的标准结果,从而达到个性化的目的。2、月结果算法www.yonyou.com
U8知识库文档签卡欠卡次数/迟到早退旷工次数/加班时间/请假时间/出差时间等——可以在这些算法中设计公式,通过定义的公式来修改系统中计算的标准结果,从而达到个性化的目的。二、自定义公式放在算法中的哪个步骤?每个算法都包含多个步骤,那么公式放在哪个步骤最合适呢?以日结果算法为例,日结果计算顺序如下图:其中每个步骤包含三步(如下图),第一步为标准算法执行前的处理逻辑,第二步为默认处理逻辑(此图为计算迟到、早退时间和次数的算法,如果把默认算法后边的复选框勾掉,那么标准算法将不执行此默认算法),第三步为执行完默认算法后的逻辑;www.yonyou.com
U8知识库文档假如默认算法“计算迟到、早退时间和次数”计算出的迟到时间不符合用户的要求,那么可以在此算法的后处理公式设置自定义公式,来修改迟到信息,来满足用户的业务;其他步骤的做法类似。三、如何设置自定义公式?自定义公式主要包括:目标字段,公式说明,公式内容,计算顺序,启用;www.yonyou.com
U8知识库文档以下为具体含义:目标字段:需要更新的内容,日结果算法中,目标字段主要包括日结果的相关字段,包括系统预置和用户自定义;www.yonyou.com
U8知识库文档公式说明:公式描述,可以输入任意内容;公式内容:使用系统预置函数和运算符对预置表的字段进行加工,得到想要的值(如下图);同时可以对处理的记录设置条件(如下图);如果对所有人都一样标准,可以不设置www.yonyou.com
U8知识库文档条件。计算顺序:每个算法步骤可以设置多个公式,每个公式的计算顺序可以设置;如果某公式A依赖公式B计算出结果进行计算,那么公式A的顺序要在B的后边;启用:可以启用和停用公式;应用案例迟到/早退/旷工场景简述提前10分钟上班不算迟到如果设置班次为8:20-17:00,班次应出勤就会多出10分钟,请假最小单位为小时的话,整天请假就会多出1小时。如果将休息时间设置成40分钟,如果半天请假的情况,下午请假的话上午上班需要提前10分钟到公司,而上午请假的话,下午就不会扣除这个10分钟,因为这10分钟包含在了休息时间中,这样就对上午请假的人合算了10分钟。www.yonyou.com
U8知识库文档公式放置步骤日结果算法->计算迟到、早退时间和次数->第三步后处理公式具体公式设置1、班次时间:8:30——17:002、定义日结果——迟到时间的公式(目标字段:迟到时间)公式描述:考勤日结果的应上班1-考勤日结果的上班1(上班实际打卡时间)<10分钟,迟到时间=10-(考勤日结果的应上班1-考勤日结果的上班1)公式内容:如果DATEDIFF("minute",考勤日结果.上班1,考勤日结果.应上班1)<10那么10-DATEDIFF("minute",考勤日结果.上班1,考勤日结果.应上班1)否则0结束3、定义日结果——迟到次数的公式(目标字段:迟到次数)公式内容:如果DATEDIFF("minute",考勤日结果.上班1,考勤日结果.应上班1)<10那么1.0否则0.0结束加班时间场景简述加班时间扣除实际上班时间客户的班次为两个班段,且加班单的计算方法为第三种;员工自助填写工作日加班单,员工习惯填写08:30-20:30,系统自动计算为加班12个小时,这其中08:30到17:30是正常上班时间,系统没有扣减这部分时间。公式放置步骤日结果算法->计算加班时间->第三步后处理公式具体公式设置1、定义日结果——加班1(小时)(目标字段:迟到时间)公式内容:如果加班单明细.加班时间非空并且加班单明细.实上班非空并且加班单明细.实下班非空并且DATEDIFF("minute",加班单明细.实上班,考勤日结果.应下班2)>0那么加班单明细.加班时间-DATEDIFF("minute",Strtodate(toString(加班单明细.加班日期)+""+toString(TOTime(加班单明细.加班开始时间))),考勤日结果.应下班2)/60.0否则考勤日结果.加班1(小时)结束2、公式的查询定义界面中勾选“所有记录”(下图),公式中用到加班相关表时,需要把此选项勾选。www.yonyou.com
U8知识库文档请假时间场景简述刷卡数据中,若中途有出入的刷卡记录,不提示异常员工上下班规定时间是8:00-17:00,刷卡举例:刷卡数据中出现四次记录:8:00,10:00,11:00,17:00,注:10点到11点,员工未填写请假,私自外出。此种情况应该显示异常,但在u8考勤异常处理画面则显示正常。公式放置步骤有多个公式,在下面公式设置中具体公式设置1、增加考勤项目:“是否填写请假单”;2、在日结果-请假时间算法中定义前处理公式,目标字段:是否填写请假单,公式内容:如果考勤日结果.请假1isnull并且考勤日结果.请假2isnull那么1.0否则0.0结束www.yonyou.com
U8知识库文档3、在日结果-请假时间算法中定义后处理公式,目标字段:请假1,公式内容:如果考勤日结果.是否填写请假单=1.0并且考勤日结果.卡2非空并且考勤日结果.卡3非空并且DATEDIFF("minute",考勤日结果.应上班1,考勤日结果.卡2)>0并且DATEDIFF("minute",考勤日结果.应上班1,考勤日结果.卡3)>0那么"BS00"否则考勤日结果.请假1结束;4、定义公式,目标字段:请假1(分钟),公式内容:如果考勤日结果.是否填写请假单=1.0并且考勤日结果.卡2非空并且考勤日结果.卡3非空并且DATEDIFF("minute",考勤日结果.应上班1,考勤日结果.卡2)>0并且DATEDIFF("minute",考勤日结果.应上班1,考勤日结果.卡3)>0那么DATEDIFF("minute",考勤日结果.卡2,考勤日结果.卡3)否则考勤日结果.请假1(分钟)结束5、定义公式,目标字段:请假1(小时),公式内容:如果考勤日结果.是否填写请假单=1.0并且考勤日结果.卡2非空并且考勤日结果.卡3非空并且DATEDIFF("minute",考勤日结果.应上班1,考勤日结果.卡2)>0并且DATEDIFF("minute",考勤日结果.应上班1,考勤日结果.卡3)>0那么DATEDIFF("minute",考勤日结果.卡2,考勤日结果.卡3)/60.0否则考勤日结果.请假1(小时)结束6、在日结果-出勤状态算法中定义后处理公式,目标字段:是否正常,公式内容:如果考勤日结果.是否填写请假单=1.0并且考勤日结果.卡2非空并且考勤日结果.卡3非空并且DATEDIFF("minute",考勤日结果.应上班1,考勤日结果.卡2)>0并且DATEDIFF("minute",考勤日结果.应上班1,考勤日结果.卡3)>0那么"0"否则考勤日结果.是否正常结束7、定义公式,目标字段:异常原因,公式内容:如果考勤日结果.是否填写请假单=1.0并且考勤日结果.卡2非空并且考勤日结果.卡3非空并且DATEDIFF("minute",考勤日结果.应上班1,考勤日结果.卡2)>0并且DATEDIFF("minute",考勤日结果.应上班1,考勤日结果.卡3)>0那么"私自外出"否则考勤日结果.异常原因结束其他场景简述计算夜班补贴当排班为1002或1003时,需要给当天排班统计夜班补贴;公式放置步骤(关键)由于公式中用到了日结果字段“实出勤“,而此字段是在步骤”计算实际出勤时间“的默认算法中计算出来的,所以必须在此步骤的算法后第三步或后续算法的第一步或第三步。www.yonyou.com
U8知识库文档具体公式设置1、日结果中添加字段“是否有夜班补贴”;2、定义日结果---是否有夜班补贴(目标字段)公式内容:分情况如果考勤日结果.班次='1002'或者考勤日结果.班次='1003'并且考勤日结果.实出勤>0那么1否则0结束相关知识无www.yonyou.com