U8开发之考勤管理算法扩展自定义公式.docx_第1页
U8开发之考勤管理算法扩展自定义公式.docx_第2页
U8开发之考勤管理算法扩展自定义公式.docx_第3页
U8开发之考勤管理算法扩展自定义公式.docx_第4页
U8开发之考勤管理算法扩展自定义公式.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

U8开发之考勤管理算法扩展-自定义公式知识库属性适用产品考勤管理支持版本V890; V10.0; V10.1; V11.0; V11.1行业通用关键字考勤管理算法扩展、自定义公式最后更新时间2013-10-28作者庞丽辉摘要考勤管理针对企业实际考勤业务的个性化需求,通过将考勤算法分解成多个模块化的标准运行单元,并支持在每个标准单元中间允许用户自定义考勤算法公式来满足企业的个性需求,本文主要讲述如何在考勤算法中自定义公式。概念说明考勤算法:主要包括班段算法,日结果算法,月结果算法,年结果算法。目标通过本文档,使读者能够掌握如下内容:在考勤算法的哪个步骤定义公式,如何定义公式。文档内容一、在哪个算法适合做公式?通常情况下,大多数企业会在日结果算法和月结果汇总算法中设置自定义公式;主要包括以下两个场景: 1、日结果算法迟到/早退/旷工/加班/请假/出差/刷卡 等可以在这些算法中设计公式,通过定义的公式来修改系统中计算出的标准结果,从而达到个性化的目的。 2、月结果算法 签卡欠卡次数/迟到早退旷工次数/加班时间/请假时间/出差时间等可以在这些算法中设计公式,通过定义的公式来修改系统中计算的标准结果,从而达到个性化的目的。二、自定义公式放在算法中的哪个步骤? 每个算法都包含多个步骤,那么公式放在哪个步骤最合适呢?以日结果算法为例,日结果计算顺序如下图:其中每个步骤包含三步(如下图),第一步为标准算法执行前的处理逻辑,第二步为默认处理逻辑(此图为计算迟到、早退时间和次数的算法,如果把默认算法后边的复选框勾掉,那么标准算法将不执行此默认算法),第三步为执行完默认算法后的逻辑;假如默认算法“计算迟到、早退时间和次数”计算出的迟到时间不符合用户的要求,那么可以在此算法的后处理公式设置自定义公式,来修改迟到信息,来满足用户的业务;其他步骤的做法类似。三、如何设置自定义公式? 自定义公式主要包括:目标字段,公式说明,公式内容,计算顺序,启用;以下为具体含义:目标字段:需要更新的内容,日结果算法中,目标字段主要包括日结果的相关字段,包括系统预置和用户自定义; 公式说明:公式描述,可以输入任意内容; 公式内容:使用系统预置函数和运算符对预置表的字段进行加工,得到想要的值(如下图); 同时可以对处理的记录设置条件(如下图);如果对所有人都一样标准,可以不设置条件。 计算顺序:每个算法步骤可以设置多个公式,每个公式的计算顺序可以设置;如果某公式A依赖公式B计算出结果进行计算,那么公式A的顺序要在B的后边; 启用:可以启用和停用公式;应用案例迟到/早退/旷工场景简述 提前10分钟上班不算迟到如果设置班次为8:20-17:00,班次应出勤就会多出10分钟,请假最小单位为小时的话,整天请假就会多出1小时。如果将休息时间设置成40分钟,如果半天请假的情况,下午请假的话上午上班需要提前10分钟到公司,而上午请假的话,下午就不会扣除这个10分钟,因为这10分钟包含在了休息时间中,这样就对上午请假的人合算了10分钟。公式放置步骤日结果算法-计算迟到、早退时间和次数-第三步后处理公式具体公式设置1、班次时间:8:3017:002、定义日结果迟到时间的公式(目标字段:迟到时间)公式描述:考勤日结果的应上班1 - 考勤日结果的上班1(上班实际打卡时间) 10分钟,迟到时间 = 10-(考勤日结果的应上班1 - 考勤日结果的上班1)公式内容:如果 DATEDIFF(minute, 考勤日结果.上班1, 考勤日结果.应上班1)10 那么 10- DATEDIFF(minute, 考勤日结果.上班1, 考勤日结果.应上班1) 否则 0 结束3、定义日结果迟到次数的公式(目标字段:迟到次数)公式内容:如果 DATEDIFF(minute, 考勤日结果.上班1, 考勤日结果.应上班1)计算加班时间-第三步后处理公式具体公式设置1、 定义日结果加班1(小时)(目标字段:迟到时间)公式内容:如果 加班单明细.加班时间 非空 并且 加班单明细.实上班 非空 并且 加班单明细.实下班 非空 并且 DATEDIFF(minute, 加班单明细.实上班, 考勤日结果.应下班2)0 那么 加班单明细.加班时间- DATEDIFF(minute, Strtodate(toString( 加班单明细.加班日期)+ + toString(TOTime( 加班单明细.加班开始时间) ) , 考勤日结果.应下班2) /60.0 否则 考勤日结果.加班1(小时) 结束2、 公式的查询定义界面中勾选“所有记录”(下图),公式中用到加班相关表时,需要把此选项勾选。请假时间场景简述 刷卡数据中,若中途有出入的刷卡记录,不提示异常员工上下班规定时间是8:00-17:00,刷卡举例:刷卡数据中出现四次记录:8:00,10:00,11:00,17:00,注:10点到11点,员工未填写请假,私自外出。此种情况应该显示异常,但在u8考勤异常处理画面则显示正常。公式放置步骤有多个公式,在下面公式设置中具体公式设置1、增加考勤项目:“是否填写请假单”;2、在日结果-请假时间算法中定义前处理公式,目标字段:是否填写请假单,公式内容:如果 考勤日结果.请假1 is null 并且 考勤日结果.请假2 is null 那么 1.0 否则 0.0 结束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时,需要给当天排班统计夜班补贴;公式放置步骤(关键)由于公式中用到了日结果字段“实出勤“,而此字段是在步骤”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论