每一個企業都一定會用到工資計算,發工資是一件非常神圣的事情,而計算工資就是一項非常重要的工作。Excel有非常強大的公式功能,幫助了很多財務人員計算工資,但如果企業的人數比較多,而且工資的計算公式比較復雜,那使用Excel的人員必須是一個超高手了,但Excel維護起來也是非常困難的。
所以有不少上一定規模的企業會上一套工資系統,做得比較好的工資系統都會提供工資公式的編輯功能,而這些編輯功能就非常類似于Excel的公式,這樣財務人員操作起來就比較容易上手。假設某廠企有如下的工資相關基本字段:
序號 | 字段 | 說明 |
1 | 基本工資 | 員工的基本工資。 |
2 | 狀態 | 新入職、試用、轉正、正式等。 |
3 | 員工性質 | 殘疾人、正常。 |
4 | 月工作天數 | 當月的工作天數。 |
5 | 轉正前天數 | 當月,員工在轉正之前的天數。 |
6 | 轉正后天數 | 當月,員工在轉正之后的天數。 |
7 | 平時加班合計小時 | 非節假日和周六日的加班小時數。 |
8 | 周末加班合計小時 | 周末日加班合計的小時數。 |
9 | 節假日加班合計小時 | 節假日加班合計小時數。 |
10 | 平時頂班合計小時 | 平時頂班合計小時數。 |
11 | 周末頂班合計小時 | 周末日頂班合計小時數。 |
12 | 節假日頂班合計小時 | 節假日頂班合計小時數。 |
13 | 實際出勤天數 | 員工實際出勤的天數。 |
14 | 高溫津貼 | 工廠給員工提供的高溫津貼。 |
15 | 學歷補貼 | 工廠給高學歷員工提供的津貼。 |
16 | 獎金點數 | 各個員工級別設置不同的資金點數。 |
17 | 每點獎金 | 根據每個月的業績和資金點數和落實的每點獎金。 |
18 | 氣味津貼 | 工廠給員工提供的氣味津貼。 |
19 | 粉塵津貼 | 工廠給員工提供的粉塵津貼。 |
20 | 事假小時 | 每個月事假的小時數。 |
21 | 病假小時 | 每個月病假的小時數。 |
22 | 曠工小時 | 每個月曠工的小時數。 |
23 | 用餐費 | 員工在飯堂每月的用餐費。 |
24 | 餐補 | 工廠給員工提供的用餐補貼。 |
25 | 計薪方式 | 銷售提成,搬運提成等。 |
工資公式:
序號 | 項目 | 公式 |
1 | 實發基本工資 | 1, 狀態=轉正,1310/月工作天數*轉正前天數 + 基本工資/月工作天數*轉正后天數。 2,狀態!=轉正,實發基本工資=基本工資/月工作天數*實際出勤天數。 |
2 | 平時加班費用 | 員工性質=殘疾人,平時加班費用=0,否則平時加班費用=基本工資/21.75/8*平時加班合計小時*1.5。 |
3 | 周末加班合計費用 | 員工性質=殘疾人,周末加班費用=0,否則周末加班費用=基本工資/21.75/8*周末加班合計小時*2。 |
4 | 節假日加班費用 | 員工性質=殘疾人,節假日加班費用=0, 否則,節假日加班費用=基本工資/21.75/8*節假日加班合計小時*3。 |
5 | 平時頂班費用 | 員工性質=殘疾人,平時頂班費用=0, 否則平時頂班費用=基本工資/21.75/8*平時頂班合計小時*1.5。 |
6 | 周末頂班費用 | 員工性質=殘疾人,周末頂班費用=0, 否則周末頂班費用=基本工資/21.75/8*周末頂班合計小時*2。 |
7 | 節假日頂班費用 | 員工性質=殘疾人,節假日頂班費用=0, 否則節假日頂班費用=基本工資/21.75/8*節假日頂班合計小時*3。 |
8 | 實發高溫津貼 | 員工性質=殘疾人,實發高溫津貼為0, 實發高溫津貼=高溫津貼/月工作天數*實際出勤天數。 |
9 | 實發學歷補貼 | 計薪方式包含“提成”,則為0, 否則為學歷補貼。 |
10 | 獎金數 | 狀態=轉正,且計薪方式=銷售提成,(基本工資-1310)/月工作天數*轉正前天數 + 資金點數*每點獎金。 如計薪方式包含“提成”,則資金點數*每點獎金。 |
11 | 實發氣味津貼 | 氣味津貼/月工作天數*實際出勤天數。 |
12 | 實發粉塵津貼 | 實發粉塵津貼=粉塵津貼/月工作天數*實際出勤天數。 |
13 | 事假扣除 | 事假扣除=基本工資/月工作天數/8*事假小時。 |
14 | 病假扣除 | 病假扣除=基本工資/月工作天數/8*病假小時。 |
15 | 曠工扣除 | 曠工扣除=基本工資/月工作天數/8*曠工小時。 |
要在.Net中實現公式編輯功能,則必須實現公式的解釋器,而最強大的解釋器無疑就是.Net的編譯引擎了,編譯引擎是可以實現任何功能的。.Net自帶動態編譯的邏輯,但要組織好一個編譯邏輯并且要合理展現出來,也同時結合適度的擴展功能,那就不太簡單了。
對上面提及的工資計算公式,可能會經常發生變化的,廠企會根據自帶的需求,增加更多的規則,或修改一些規則,甚至各個月的規則都是不同的,只與上個月的部分相同。這種情況下,把工資計算公式交給廠企的財務人員是一個合理的做法。這就對業務系統開發商提出更高的要求了,如果是個人開發者,那就更加困難了。
CKRule規則引擎提供了這個功能,其客戶規則池就是允許客戶進行自定義公式的。業務系統開發商只需要簡單幾步就可以實現動態公式了,1,配置好關鍵字,比較邏輯和結論/操作,2,在業務系統中加載配置,并設置界面,3,用戶在友好的界面下編輯規則,保存規則到數據庫,4,主規則調用中加載客戶規則池。
在工具中自定義類型及傳入傳出屬性:


定義客戶規則池的關鍵字和操作符。
關鍵字可以與傳入傳出類型一樣,也可以新建,結論操作則為了讓用戶適應類似Excel的操作使用IIF語法。

新聞熱點
疑難解答