很多企業會給員工發勤工獎,那在考勤過程中需要統計這些考勤異常信息,然後跟據考勤異常數據,給員工計算出不同的勤工獎。
Workstem是如何取值這些異常考勤數據信息的呢?
系統提供了相應的統計異常考勤數據的函數:
CountAttendStatusByDay(Status Item, Range in mins)
SumAttendData(Item)
CountAttendDataByDay('beLateLength','0-20','a*10')
下面就詳細介紹一下這幾個函數該如何使用:
第一步
「薪酬」> 「設置」 >「薪酬項目」>「設置」
第二步
點擊「設置」進入「薪酬項目」詳情界面,找到對應需要設置公式的項目點開「公式」或新增項目到公式設置步驟,,進入「薪酬項目」公式設置界面
第三步
1、在薪酬運算週期對應的考勤週期,考勤狀態(遲到,早退,實際出勤)以天為組織統計該狀態出現的次數(一個月之內,有遲到狀態的總天數),點開「函數」找到CountAttendStatusByDay(Status Item, Range in mins)這個函數,查看這個函數的相關解釋說明及舉例
注意:「參數說明」
Status Item: beLateLength,leaveEarlyLength,shiftLabor, absenceLength ;
分別代表“遲到”、“早退”、“曠工”、“缺勤”
Range in mins: 代表“分鐘數範圍”,如'1-10'分鐘
CountAttendStatusByDay返回的結果為“天數”
示例:以遲到為例
假定當前的薪酬計算週期為2020-03-01到2020-03-31,考勤週期一致
某員工當月一共有5天,有遲到記錄。其中2天遲到在10分鐘內。其他3天遲到20分鐘
CountAttendStatusByDay('beLateLength','1-10') 結果為2
CountAttendStatusByDay('beLateLength','10-30') 結果為3
CountAttendStatusByDay('beLateLength','1-30') 結果為5
2、獲取考勤相關資料(遲到/早退/總分鐘數,工作時長等)的總分鐘數,點開「函數」找到SumAttendData(Item)這個函數,查看這個函數的相關解釋說明及舉例
注意:「參數說明」
Item:beLateLength,leaveEarlyLength,shiftLabor,totalWorkingDaysOrHours,workingOvertimeOnWeekdays,workingOvertimeOnRestDays,workingOvertimeOnStatutoryHolidays,absenceLength
分別統計為遲到、早退、缺勤、總出勤時長、工作日加班時長、休息日加班時長、法定假日加班時長的總分鐘數
示例:
假定當前的薪酬計算週期為2020-03-01到2020-03-31,考勤週期一致
某員工當月一共有3天有遲到記錄。分別遲到了5分鐘,8分鐘,10分鐘
SumAttendData('beLateLength') 結果為23分鐘(5+8+10)
3、獲取考勤相關資料(遲到/早退/確定,工作時長等)中符合參數二聲明時間範圍的次數,獲得次數通過參數三的運算式運算,作為函數的運算結果,點開「函數」找到
CountAttendDataByDay('AttendItemName','MinsRange','Expression')這個函數,查看這個函數的相關解釋說明及舉例
注意:「參數說明」
AttendItemName: beLateLength,leaveEarlyLength,shiftLabor,absenceLength,totalWorkingDaysOrHours,workingOvertimeOnWeekdays,workingOvertimeOnStatutoryHolidays,workingOvertimeOnRestDays
分別統計的是遲到、早退、曠工、缺勤、總的工作天數/時長、工作日加班、法定工作日加班、休息日加班
MinsRange:分鐘數時間範圍(如:‘1-10’分鐘)
Expression:次數運算式,支持+-*/四則運算
示例:
假定當前的薪酬計算週期為2020-03-01到2020-03-31,考勤週期一致
某員工當月一共有5天,有遲到記錄。其中2天遲到在10分鐘內。另外3天遲到了20分鐘
CountAttendDataByDay('beLateLength','1-10','a*10') 結果為20
CountAttendDataByDay('beLateLength','11-20','a*50') 結果為150
相容寫法:
var str = 'tempValue' + '+' + BasicSalary + '>=0' + '&&' + 'tempValue'+ '+' + BasicSalary + '<=200000'
CountAttendDataByDay('beLateLength',str,'a*50')
相容寫法:
var str = 'totalWorkingDaysOrHours' + '+' + 'leaveEarlyLength' + BasicSalary + '>=0' + '&&' + 'totalWorkingDaysOrHours'+ '+' + BasicSalary + '<=200000' CountAttendDataByDay('str','a*10')