程式資訊
- 程式 ID:
PERWKDAY - 所屬子系統:R.人事管理
- 狀態:stable
日出勤¶
本功能尚在規劃中,目前未提供
「日出勤(PERWKDAY)」在新版 TsERP 目前只有資料結構(Source/Model POCO),尚未實作可操作的畫面(ViewModel/XAML)與商業邏輯(BLL)。
也就是說:主選單裡點不到、無法新增或查詢這份單據。本頁僅依程式碼中已定義的資料結構與功能命名說明其規劃用途,方便日後開發與導入時對照。下方「操作步驟」「欄位連動」皆為規劃說明,不代表現行系統的實際可用行為。
功能簡介¶
「日出勤」規劃為人事差勤模組(R 人事管理)中以「日」為單位記錄員工出勤狀況的主檔,預期由人事人員維護,作為差勤統計與薪資計算的資料來源之一。
從程式碼的資料結構可以看出它採主檔+明細設計:
- 主檔記錄一筆出勤事件的基本資訊:單號、日期、員工類別、日期別與出勤說明。
- 明細是一組通用的「欄位/內容」鍵值組(序號+欄位+文字內容+數字內容),用來掛載該日各種彈性的出勤項目(例如不同的時數、代碼或備註欄位),讓一筆日出勤可以承載多列細項。
在 R 人事管理的流程中,它與按「月」彙整的月出勤互為對應:人員資料建立員工主檔後,差勤資料才有歸屬對象。
與月出勤的關係(規劃)
月出勤(PERWKMON,R-040)同樣處於規劃階段。兩者預期是「日」與「月」兩種彙整粒度的差勤主檔;實際的彙整關係、欄位定義與計算規則待開發階段確認,本頁不臆測。
前置需求¶
以下為規劃導入時的前置條件,非現行可用功能
- 權限:R.人事管理 →
R-030 日出勤的瀏覽/修改權限(功能上線後才會生效)。 - 基礎資料:
| 資料 | 影響什麼 |
|---|---|
| 人員資料(PERDATA) | 出勤記錄的歸屬對象,無員工主檔即無從建立出勤 |
| 人事摘要檔(PERSMEMS) | 人事/差勤常用敘述片語的摘要代號編碼,供單據叫用固定敘述 |
| 員工類別代碼 | 主檔的員工類別欄位取值來源 |
| 日期別/出勤代碼設定 | 主檔的日期別、明細欄位所對應的代碼意義 |
操作步驟¶
規劃中流程,目前無法執行
下列步驟為依資料結構推估的預期操作流程。功能尚未實作,實際畫面、按鈕與欄位連動將以開發完成後為準。
- 規劃從主選單開啟 R 人事管理 → 日出勤 視窗。
- 按
新增建立一筆日出勤主檔,輸入日期、員工類別、日期別與出勤說明(單號預期由系統自動產生)。 - 在明細區逐列填寫該日的出勤項目:每列指定欄位(項目代碼),並依項目性質填文字內容或數字內容。
- 按
儲存寫回。 - 需修正時於清單選取後
修改,不再需要的整筆資料以刪除移除。
欄位說明¶
以下欄位取自程式碼中已定義的資料結構(Perwkday_mSource 主檔、Perwkday_dSource 明細)。長度為資料庫定義,預設值取自 Model 建構式。
主檔(Perwkday_m)¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 單號 | 是 | 文字,最長 20 字。一筆日出勤的識別鍵,預期由系統產生(建構式預設空字串) |
| 日期 | 是 | 文字,最長 10 字(規劃格式 yyyy/MM/dd)。該筆出勤所屬日期,預設空字串 |
| 員工類別 | — | 文字,1 碼。區分員工類別的代碼,預設空字串 |
| 日期別 | — | 文字,最長 10 字。標示該日的日期類別(如工作日/假日等),實際代碼意義待設定,預設空字串 |
| 出勤說明 | — | 文字,最長 40 字。該筆出勤的文字說明,預設空字串 |
明細(Perwkday_d)¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 序號 | 是 | 文字,最長 6 字。明細列序號,預設空字串 |
| 欄位 | — | 文字,最長 10 字。該明細列代表的出勤項目代碼/名稱,預設空字串 |
| 文字內容 | — | 文字,最長 250 字。當該項目為文字型內容時填入,預設空字串 |
| 數字內容 | — | 數值(整數 20 位、小數 6 位)。當該項目為數值型內容(如時數)時填入,預設 0 |
明細是通用鍵值結構
明細不是固定欄位的表格,而是「欄位 → 內容」的彈性鍵值列:每一列用 欄位 標示是哪個項目,再把值放進 文字內容 或 數字內容。同一筆日出勤可掛多列不同項目。實際會用到哪些 欄位 代碼,由功能實作與代碼設定決定。
欄位連動與附加功能¶
尚無可述的程式行為
一般主檔頁面會在這一節列出「輸入某欄位後系統做什麼」「按某按鈕會做什麼」等連動。但日出勤目前沒有 ViewModel、BLL、XAML,因此程式碼裡沒有任何 SetNewData 預設帶值、Calculate*/Recalc* 重算、HandleDataBeforeEndEdit 檢核、ExtensionFunction、列印(GetReports/IPrintSource)、簽核/工作流程、附件、Excel 匯入匯出或開啟其他視窗的實作可供描述。
從現有資料結構僅能確認以下兩點(屬資料層,非畫面互動):
- 新增時的狀態標記:Model 建構式把內部的 增刪修 旗標預設為
A(新增),這是 TsERP 主檔/明細共通的異動狀態欄位,用於上傳時判定該列是新增、修改或刪除。此為框架層機制,非使用者可見欄位。 - 數值欄位預設為 0:明細的 數字內容 為
decimal,未輸入時為 0;其餘字串欄位預設為空字串。
待功能開發時,欄位連動(如輸入員工後帶入員工類別、日期別決定可輸入項目、明細依 欄位 切換填文字或數字等)應在此補齊,並以實作後的真實行為為準。
常見問題¶
主選單裡找不到「日出勤」,是權限問題嗎?
不是。日出勤目前尚未實作可操作畫面,系統中還沒有這支功能可以開啟,與權限設定無關。請參考本頁開頭的規劃中提示。
已經看到資料表結構了,可以直接用嗎?
程式碼中存在的是資料模型(Source/Model POCO),僅定義了欄位與型別,沒有對應的操作畫面與商業邏輯。在 ViewModel/XAML/BLL 完成前,無法透過系統正常新增、查詢或維護這份資料。
日出勤和月出勤有什麼差別?要先建哪一個?
兩者目前都處於規劃階段。依命名,日出勤以「日」為粒度、月出勤以「月」為粒度,預期是同一差勤主題下的兩種彙整方式。實際的先後順序與彙整關係待開發確認,現階段無法操作任何一個。
明細的「文字內容」和「數字內容」要填哪一個?
依該明細列 欄位(項目代碼)的性質決定:文字型項目填 文字內容,數值型項目(如時數)填 數字內容。明細是通用的鍵值結構,詳見欄位說明與欄位連動與附加功能。
相關功能¶
需補截圖清單
本功能尚未實作,目前無實際畫面可截圖。待 ViewModel/XAML 開發完成、功能可操作後,再補拍下列畫面(放 docs/R-HumanResource/images/):
perwkday-step1.png— 日出勤主檔新增畫面(主檔欄位)perwkday-step2.png— 明細「欄位/內容」鍵值列輸入畫面perwkday-step3.png— 清單/查詢結果畫面