程式資訊
- 程式 ID:
PERDMD - 所屬子系統:F.生產管理
- 狀態:stable
要員需求表¶
此功能尚在規劃,新版尚未提供
本頁描述的是 VFP 舊版 PERDMD(要員需求表,F-070) 的設計用途與運作邏輯。新版 TsERP 目前尚未移植此程式——沒有對應的 ViewModel、XAML 與 BLL,因此下列「運作邏輯」與「頁籤/欄位」內容僅供規劃與需求對照之用,現階段無法在新版系統中操作。等實作完成後,本頁會改為正式操作手冊並補上實際畫面。
功能簡介¶
「要員需求表」是一支產能/人力負荷試算工具,供生管與工廠主管在排產前評估「未來一段期間、每個生產部門每天需要多少人(要員)」。它把兩種需求來源——未完工的製造通知單(製通單)與客戶預示計畫(預示)——透過 BOM/製程的標準工時展開到各生產部門,按日累計成工時,再除以「每人每日工作分鐘數」換算成每日要員人數,最後與部門的實際在編人數比較,算出平均負荷與差異。
由於這是一支以日期區間為主軸的試算報表,舊版在同一視窗用 8 個頁籤呈現由細到粗的計算過程,並提供將計畫日期回寫、以及匯出要員金額 Excel 等延伸動作。
與生產計劃查詢的差異
生產計劃查詢(PRODUCTIONPLAN)著重「要做多少、要買多少料、花多少錢」的物料與金額面;本表著重「每天每個部門要幾個人」的人力負荷面。兩者都會做 BOM/製程展開,但輸出與用途不同。
前置需求¶
- 權限:F.生產管理 →
F-070 要員需求表的瀏覽(與列印)權限。 - 基礎資料:試算結果的正確度高度依賴下列主檔,缺漏會造成工時或要員為 0——
| 資料 | 影響的結果 |
|---|---|
| 製造通知單與派工單(製通單/派工單) | 製通單需求來源、預訂完工日、各派工的數量與工程 |
| 產品製程表 / 標準工時(PROCES、含改善前後工時) | 每個工程的單位工時、生產部門歸屬,是工時展開的核心 |
| BOM 用量表(BOM) | 預示品號往下展開到各半成品/零件的數量與層次 |
| 預示表主檔/明細(銷售訂單模組) | 預示需求來源、客戶品號、預訂交期 |
| 客廠部資料(部門代號、部門簡稱、在編要員人數) | 各部門名稱與「實際」在編人數,用來算差異 |
| 工作日曆(含工作時數) | 工作天數計算、合計列的「實際要員」只算在工作日 |
系統參數 7008(每日人工分鐘數,舊版為 460) |
工時換算要員人數的分母 |
| 客戶報價(CUPDMA/CUPDT)+成本匯率 | 僅「要員金額 Excel」延伸功能用:算單價/金額 |
運作邏輯(規劃中/對照 VFP)¶
以下為規劃內容
本節描述舊版實際算法,供新版實作時對照需求,並非目前可操作的步驟。
舊版視窗分成左側條件面板與右側8 個頁籤,操作概念如下:
條件設定¶
- 輸入計算起始日(預設今天)。離開欄位時系統會自動:
- 把截止日帶成起始日 +30 天(要員表頁籤 5~7 的每日欄固定 31 格,故有效呈現以 31 天為上限)。
- 依工作日曆統計區間內的工作天數並帶入。
- 把頁籤 5/6/7 的 31 個日期欄表頭改成
MM/DD。
- 視需要調整工作天數(驗證規則:不得小於 1、不得大於 31)。
- 選擇要員別:
全部要員(以全部數量算工時)或未完成(只算未完工數量的工時)。 - 選擇部門別:
全部部門或篩選部門(只算左側清單勾選的部門)。 - 選擇工時別:
標準工時/改善前工時/改善後工時(決定工時展開時取哪一組單位工時)。
查詢(產生 8 個頁籤)¶
按條件面板的 查詢 後,系統依序計算並填入下列頁籤:
| 頁籤 | 內容 |
|---|---|
| 1. 製造通知單 | 區間內未完工的製通單明細(含預訂生產日/完工日/標準工時/生產部門) |
| 2. 預示計畫表 | 區間內各客戶最新預示單的明細(年度/月份/版次/品號/數量/預訂交期) |
| 3. 製通單工時表 | 製通單→派工單展開後,各派工的全部/已完工/未完工工時 |
| 4. 預示工時表 | 預示品號經 BOM/製程展開後,各部門每筆的工時 |
| 5. 製通單要員表 | 把製通單工時按「部門 × 日期」累計,每格 = 當日工時 ÷ 每日人工分鐘 |
| 6. 預示要員表 | 同上,但來源是預示需求 |
| 7. 要員需求表 | 製通單+預示合併後,各部門每日要員,並算合計/平均/實際/差異 |
| 8. 排程表 | 以製單排程資料帶入 Excel 樞紐分析(另一組起訖部門/日期條件) |
頁籤 5~7 的結尾會自動補上 合計/平均/實際/差異 四個彙總列,其中「實際」只在有工作時數的工作日填入部門在編人數,「差異」=實際 − 平均。
欄位說明(規劃中/對照 VFP)¶
條件面板¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 計算起始日 | 是 | yyyy/MM/dd;預設今天。離開欄位自動帶截止日(+30)與工作天數 |
| 截止日 | — | 離開起始日欄位時自動帶成起始日 +30;要員表頁籤仍以 31 天為上限 |
| 工作天數 | 是 | 由工作日曆自動帶;可改,範圍 1~31 |
| 要員別 | 是 | 全部要員(預設)/未完成 |
| 部門別 | 是 | 全部部門(預設)/篩選部門 |
| 工時別 | — | 標準工時(預設)/改善前工時/改善後工時(舊版預設隱藏) |
| 成本匯率 | — | 僅「要員金額 Excel」用;各幣別換算成本幣的匯率(舊版預設隱藏) |
「要員需求表」頁籤(頁籤 7)主要欄位¶
| 欄位 | 說明 |
|---|---|
| 生產部門/部門簡稱 | 各製程的生產部門;末端有 合計/平均/實際/差異 彙總列 |
| 要員人數 | 該部門目前在編人數(來自客廠部資料) |
| C01~C31 | 起始日起連續 31 天的每日要員需求(工時 ÷ 每日人工分鐘);表頭顯示為 MM/DD |
| 合計 | 31 天每日要員加總 |
| 平均 | 合計 ÷ 工作天數 |
| 實際 | 部門在編人數(僅資料來源為「部門」者) |
| 差異 | 實際 − 平均(正值表示人力寬鬆、負值表示吃緊) |
欄位連動與附加功能(規劃中/對照 VFP)¶
以下為 VFP 既有行為,新版尚未提供
下列「當你⋯系統會⋯」均取自舊版程式碼,作為新版實作時的需求清單,目前無法操作。
- 輸入計算起始日後:系統自動把截止日設為起始日 +30 天,依工作日曆把區間內工作日數帶入工作天數,並把頁籤 5/6/7 的 31 個日期欄表頭改寫成對應的
MM/DD。 - 修改工作天數時:若輸入值 > 31 或 < 1,跳出錯誤訊息並擋下(平均列的分母即此工作天數)。
- 按
查詢(條件面板):- 先擋——若工作天數 ≤ 0,提示「請先輸入工作天數」後中止。
- 清空所有暫存表,依「部門別」建立要計算的生產部門清單(全部部門 = 取廠商代號+
PD_QRY15;篩選部門 = 只取勾選列)。 - 透過
DARB_QRY_PERDMD取回製通單、預示、派工等資料,依「工時別」選用標準/改善前/改善後工時,逐筆展開並按部門 × 日期累計成頁籤 5~7。 - 末端自動產生
合計/平均/實際/差異列;對「朝陽」公司另有「合計 ≤ 0 的非指定部門會被刪除」的清理規則。
- 按
計算要員(頁籤 1 下方):在不重新跑整段查詢的情況下,只用已取回的派工資料(TMPWKHR1/TMPWKHR2)重算製單需求表與製通單要員表(頁籤 3、5),並依「要員別」決定取全部工時或未完工工時。適合只想重算製通單面、不動預示面時使用。 索引別切換(製通單號/生產部門+品號/品號/生產部門+預訂完工日):只改變頁籤 1 製通單清單的排序,不重算數值。- 按
篩選:以PD_QRY15中勾選的生產部門對頁籤 1 製通單清單做就地過濾;再按一次可取消過濾還原全部。 - 頁籤 1 可改三個日期/備註欄(限「修改」模式):
- 改預訂生產日時,系統用工作日曆把備料完成日倒推一個工作日。
- 改預訂完工日時,系統用
logid欄重算與出貨日期之間的工作天數差(代替「差異天數」顯示)。 - 改計畫備註時,該列標記為已異動(增刪修=Y),存檔時才會被挑出上傳。
- 按
儲存(頁籤 1):把有修改日期/備註的製通單,連同重算後的派工單預訂開始/完成日,整批以要員變更日期事件透過LOG_SYS_INPUT回寫,並對改了預訂完工日者自動產生製單聯絡單。儲存成功後按鈕停用。 要員金額 Excel(隱藏延伸功能):先檢查已查詢且成本匯率 > 0,再抓客戶報價、製通單、庫存、製程等資料,把製單與預示需求彙整成TMP要員金額(含單價、金額、每日要員、設變品號比對、改善工時讀入C:\轉EDI資料\工時.XLS),最後輸出 Excel 並開啟。- 頁籤 8 排程表的
查詢:另用起訖部門/起訖日期與「查詢條件別(辨識號/預訂生產日)」呼叫DARB_QRY_製單排程,把結果複製給選定的Excel 樞紐分析表範本並 RefreshAll 後開啟 Excel。 - 頁籤 1 工具列
Excel(計畫製通單):直接把目前頁籤 1 的清單匯出成名為「計畫製通單」的 Excel。
常見問題¶
在新版選單裡找不到「要員需求表」?
新版 TsERP 尚未移植此功能(F-070),目前只有 VFP 舊版可用。本頁僅作規劃與需求對照;待實作完成後會更新為正式操作說明。
(舊版)為什麼某個部門整列都是 0、甚至不見了?
要員是「工時 ÷ 每日人工分鐘」換算的。若該部門底下品號/工程沒有設標準工時、或製程表沒把工程歸到該生產部門,工時就是 0。此外舊版對「朝陽」公司有清理規則:合計 ≤ 0 且非指定部門(P331~P337、B00~B99、H、R、K,或部門簡稱為空者除外)的列會被刪除,因而不顯示。
(舊版)「平均」和「差異」是怎麼算的?
平均 = 合計 ÷ 工作天數(工作天數由工作日曆帶、可手改);差異 = 實際 − 平均,其中「實際」是部門在編人數,且只在有工作時數的工作日才計入。所以改了工作天數,平均與差異都會跟著變。
(舊版)「要員別」選全部要員和未完成有什麼差?
全部要員 用製通單/派工的全部數量算工時;未完成 只算未完工數量(已完工數量=生產實績,外包部門另計暫收數量)的工時。要看「還剩多少人力負荷」時選未完成。
(舊版)「要員金額 Excel」匯出後單價/金額是 0?
該功能的單價來自客戶報價(CUPDMA/CUPDT)並用成本匯率換算;若該客戶+品號(含設變碼前置比對)查無報價、或成本匯率未填正確值(≤ 0 會被擋下),單價與金額就會是 0。
相關功能¶
需補截圖清單
本功能新版尚未實作,暫無可截圖之畫面。待移植完成後,建議補拍下列畫面(放 docs/F-Production/images/):
perdmd-step1.png— 條件面板(計算起訖日、工作天數、要員別/部門別/工時別)perdmd-step2.png— 「要員需求表」頁籤(部門 × 31 日要員,含合計/平均/實際/差異列)perdmd-step3.png— 製通單頁籤與計算要員/儲存/篩選等延伸按鈕