TimeSheet Reader Profile

Giới thiệu


Dữ liệu chấm công được sử dụng để tính số lượng thời gian - giờ công, ngày công và đặc điểm của số lượng này : làm việc, nghỉ phép, nghỉ ốm, OT, làm bù v.v. Giá trị đếm này là cơ sở để tính ra tiền cho người lao động.

Ta thường dùng kết quả đếm công này trong 1 bước tính thu nhập cho người lao động ở tính năng Payrolls (HR)

Xử lý dữ liệu chấm công là công việc phức tạp, vì mỗi công ty cần khai thác dữ liệu chấm công theo nhiều cách khác nhau.

Nếu không đặt trước các quy tắc đọc dữ liêu chấm công ở đây, ta vẫn có thể tổng hợp công bằng báo cáo excel hoặc dùng các công cụ thuần túy kỹ thuật khác để tập hợp, lọc, tính toán ra dữ liệu công.

Các bộ quy tắc này giúp việc đọc bảng chấm công hiệu quả hơn bằng cách định nghĩa ra các quy tắc đếm công. Sau đó là có thể sử dụng các user table, tags, functions để lấy ra kết quả công ngay lập tức, nhanh , gọn , chính xác.

Các bộ quy tắc còn giúp việc maintain hệ thống hiệu quả hơn. Toàn bộ quy tắc tính được thiết lập trong chương trình thay vì nằm ở các template báo cáo vốn rất dễ bị thay đổi từ version này sang version khác.

Các bộ quy tắc này gom theo mã quy tắc TsrCode. Mỗi bộ quy tắc có nhiều có nhiều quy tắc phân biệt bằng SubCode.

Ngoài ra quy tắc đọc có thể thay đổi theo kỳ. Khi đếm công, quy tắc đang áp dụng cho kỳ nào thì phải đi với kỳ ấy, điều này đặc biệt quan trọng khi đếm lại công trong quá khứ. Do đó khi đếm công cho một kỳ bằng 1 bộ quy tắc, Phoebus sẽ chọn bộ quy tắc đang hiệu lực tại kỳ đang đếm để sử dụng.

Ví dụ: Ta định nghĩa 1 bộ quy tắc cho kỳ 2016-001. Đến kỳ 2016-007 ta thêm vài quy tắc con và đặt kỳ hiêu lực là 2016-007. Như vậy khi chấm công từ kỳ 1->6 áp dụng các quy tắc cài đặt từ 2016-001. Từ kỳ 2016-007 trở đi, việc đếm công hoàn toàn dựa vào các quy tắc mới được cài đặt trong kỳ 2016-007

Thiết lập


Đối với mỗi bộ đọc, ta khai báo tiêu chí để tìm ra các record TimeSheet Record cần thiết.

Chú ý tiêu chí phân tích được đọc chính xác : 101 mã phân tích phải chính xác =101. nếu muốn đọc nhiều tiêu chí dùng <<101|102..102z

Stt Tiêu chí Diễn giải
1 Đọc luôn toàn bộ
2 <<A B..Bz Đọc A và toàn bộ mã từ B..Bz
3 ! Đọc nếu mã trống
4 ! A..Z Đọc các mã không nằm trong khoảng A..Z
5 ! A Đọc nếu mã khác A

Trong trường hợp dữ liệu được ghi nhận 1 kỳ / 1 con số. Ví dụ giá trị cần đọc xuất hiên ở tất cả các record chấm công trong 1 trong 30 cột dữ liệu. Ta sẽ chỉ cần đọc record đầu tiên để tìm ra con số này. Khi ấy, ta chỉ cần bật Read First Record Only lên là xong.

f4a39fc6-3794-4dae-addb-b521cf401b0e.pbs_bo_hr_tsr_md

Multiplier
Áp dụng khi cần chuyển kết quả đọc công từ ABBR sang giờ. Ví dụ nghỉ phép nửa ngày chấm AL0.5 với Qty = 1. Khi đó đếm công nghỉ phép có multiplier = 4 tương đương 4h.
Counting criteria
Các mẩu tin chấm công TimeSheet Record phải thỏa mãn các điều kiện này sẽ được cộng vào kết quả đếm. Các tiêu chí lọc có thể là mã nhân viên, 10 mã phân tích chấm công. Mã trạng thái thể hiện mẩu tin chấm công được phê duyệt hay chưa. Ta dùng trường này khi dữ liệu chấm công phải được approve trước khi sử dụng.

Nếu cần đếm công theo quy tắc phức tạp hơn là sử dụng các trường của nhóm Counting Criteria. Ta có thể dùng công thức ở ô Counting with Calculation Criteria. Các mẩu tin TimeSheet Record khi tính với công thức này trả về true sẽ được đếm.

User table

pbs.BO.Data.TSCount?TsrCode=Profile&Period=C

Report Tags

<#TsCount(TsCode;EmplCode;inPeriods - optional)> - Đếm số TSH record với profile TsCode
<#TsQuantityCount(TsCode;EmplCode;inPeriods - optional)> - Tính tổng số QTY với profile TsCode
<#TsValueCount(TsCode;EmplCode;inPeriods - optional)> -  Tính tổng số Value0-8 với profile TsCode

Ví dụ thực tế :

Ta cần trích xuất dữ liệu công như sau :

6ed46bf9-b699-4eed-85a7-d051ec863755.pbs_bo_hr_tsr_md

Thiết lập sẽ như sau để đếm công cho cột đầu tiên (150% OT ...)

Ý nghĩa cột này cần đếm ra số giờ làm OT (TS0 = OT) đổi lấy tiền cash (TS2=Y) trong ngày thường từ thứ 2 .. thứ 6 (Calculation Criteria = IsWorkingDay([TimeSheetDate])) đối với onshore staff (TS9 = <<N1..N1z - thiếu trên hình chụp màn hình).

dfd4b4e8-1d58-4a8e-8ae9-d75813c9eadb.pbs_bo_hr_tsr_md

Sau khi định nghĩa profile. Ta sử dụng nó để đếm công cho cho nhân viên E0001 trong kỳ 5/2016 chỉ bằng 1 công thức đơn giản:

<#TsCount(TSHON_OTY:01;E0001;2016005)>

Ta cũng có thể dùng user table để lấy ra bảng OT này cho toàn bộ nhân viên onshore:

User Table(pbs.BO.Data.TSCount?TSHON_OTY:01&Period=2016005)

Case study : Chính sách OT cụ thể của một công ty điều hành dầu khí:

bf4e773b-fda0-46b9-848a-bb22c00502da.pbs_bo_hr_tsr_md

Xem thêm



Updated on : 2021-01-22 14:54:12. by : . at T470-01.

Topic : TimeSheet Reader. pbs.bo.hr.tsr