程式資訊
- 程式 ID:
Record - 所屬子系統:Other
- 狀態:stable
留底紀錄與工作流程通報¶
功能簡介¶
「留底紀錄與工作流程通報」是一個彈出式視窗,用來把當前畫面的資料留底成一筆紀錄,連同檔案附件掛上工作流程樣板後送出通報/簽核。它不是獨立的選單程式,而是被其他程式(主要是查詢類報表)在背景叫起來的共用對話框——當你在某張查詢報表上按下工具列的 工作流程(審核)鈕,系統會把查詢結果包成一份留底紀錄,再由本視窗讓你補附件、選流程樣板並送出。
本視窗底層共用聯絡單(COMMPR)的資料結構:主檔、附件、工作流程明細三層都寫進聯絡單相關資料表,因此送出後可在聯絡單/工作流程相關功能中追蹤。適合需要「把一份報表結果或事件留下書面紀錄並走簽核」的主管與承辦人使用。
與聯絡單的關係
本視窗的主旨、內容、附件、工作流程明細都沿用聯絡單(COMMPR)的欄位與資料表,可視為「以工作流程為核心的聯絡單精簡版」。差別在於本視窗多帶一欄 檢視資料(viewxml),把來源畫面的資料表快照一併留底。
前置需求¶
- 權限:由叫起本視窗的來源程式控管,本視窗本身不另設選單權限。
- 必要參數/主檔:是否能順利送出,取決於下列資料是否齊備——
| 資料 | 影響什麼 |
|---|---|
| 工作流程樣板(對應該單據別) | 決定本視窗能否使用;查無樣板時直接禁用 儲存(見欄位連動與附加功能) |
| 工作流程樣板的關卡設定(處理事項、部門、處理人、簽核順序) | 下方工作流程明細清單的內容(誰簽、依序簽) |
| 登入者帳號/姓名/Email | 自動帶入工作流程第一關「發佈」關卡的處理人資訊 |
| ERPIO 附件儲存路徑設定 | 送出時附件能否成功上傳、存檔 |
查無工作流程樣板就不能用
本視窗載入時會依單據別去找對應的工作流程樣板;若找不到任何樣板,會跳出提示並把 儲存 鈕鎖住,此時只能關閉視窗。請先在工作流程樣板維護中替該單據別建好樣板。
操作步驟¶
本視窗為彈出對話框,沒有新增/修改/刪除/查詢等標準工具列;核心動作只有「補附件 → 選樣板 → 送出」。
- 由來源程式叫起本視窗:在支援工作流程的來源程式上觸發通報,來源程式會把當前畫面資料與附件清單包成參數叫起本視窗。本視窗本身不在主選單,無法單獨開啟。
- 檢視留底主檔:視窗上方顯示這筆紀錄的 Notes No(紀錄單號)、CreatedDate(建檔日期)、Owner(製表人員)、Subject(主旨)。單號、日期、製表人員為系統帶入唯讀;主旨可修改。
- 填寫內容:在 Content(內容) 多行文字框補充說明,可換行。
- 加掛附件(選填):在右側附件清單操作——
- 按某列
GetData(取檔)鈕,從檔案總管選一個檔案掛進該列。 - 視需要在 Tag(標籤) 欄填註記。
- 已掛好的檔案可按
Show(顯示)鈕開啟檢視。 - 附件列數不足時系統會自動補空白列,不需手動加列。
- 按某列
- 選擇工作流程樣板:在 WorkflowTemplate 下拉選樣板;選定後右側顯示樣板說明,下方工作流程明細清單會即時帶出該樣板的簽核關卡。
- 送出:按
儲存。系統會上傳附件、寫入留底主檔與工作流程明細,成功後提示「儲存成功」並把儲存鈕鎖住(避免重複送出)。 - 關閉:按右下角的離開鈕關閉視窗。
上方/下方還顯示什麼
視窗中段有一個唯讀格線顯示 檢視資料——也就是來源畫面被留底的資料表快照(由 viewxml 還原);最下方則是依樣板帶出的工作流程明細(簽核關卡)清單。兩者都僅供檢視,不可在此編輯。
欄位說明¶
留底主檔¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| Notes No(紀錄單號) | — | 唯讀;新建時帶 +++,送出後由系統自動編號 |
| CreatedDate(建檔日期) | — | 唯讀;短日期格式 |
| Owner(製表人員) | — | 唯讀;預設為登入者帳號 |
| Subject(主旨) | — | 預設 System Record,可修改 |
| Content(內容) | — | 多行文字,可換行;預設空白 |
| 檢視資料 | — | 唯讀格線;來源畫面資料表快照(viewxml 還原),無來源時為空 |
預設值來源
主檔的預設值由程式在開窗時一次帶入(紀錄單號 +++、製表人員=登入者、主旨 System Record),使用者通常只需要改主旨/內容並補附件。序號前置碼則由叫起本視窗的來源程式傳入,並非固定值。
附件清單¶
| 欄位 | 可編輯 | 說明 |
|---|---|---|
| LineNo(序號) | — | 系統流水序號,自動補列 |
| GetData(取檔) | 按鈕 | 從檔案總管選檔掛入該列 |
| Attachment(附件) | — | 顯示掛入的檔名/路徑,唯讀 |
| Tag(標籤) | ✔ | 自由註記文字 |
| IsLoaded(載入) | — | 唯讀;標示該附件是否已上傳(送出後為 Y) |
| Show(顯示) | 按鈕 | 開啟檢視已掛入的檔案 |
工作流程¶
| 欄位 | 可編輯 | 說明 |
|---|---|---|
| WorkflowTemplate(工作流程樣板) | ✔(下拉) | 選定的簽核流程樣板;右側顯示樣板說明 |
| 工作流程明細 | — | 唯讀清單;依樣板帶出的簽核關卡:序號、處理事項、處理部門、處理人、實處人、狀態、優先順序、開始日/到期日、完成率、處理說明、退件序號等 |
欄位連動與附加功能¶
這一節把「輸入某欄位/按某按鈕後,系統會做什麼」逐一列出,全部以實際程式行為為準。
開窗即時帶值¶
- 當視窗開啟時,系統會建立一筆留底主檔並帶入預設:紀錄單號=
+++、製表人員=登入者帳號、單據別=來源程式的 ProgramClass 名稱、主旨=System Record、內容=空白、序號前置碼=來源程式傳入值、單號=來源程式傳入的來源單號、檢視資料=來源畫面傳入的資料表快照(viewxml)。 - 當來源傳入既有附件路徑時,系統會自動把這些檔案逐一掛進附件清單的空白列(每筆附件視為已存在,標記為「修改」狀態而非新增)。
- 附件清單會自動預留空白列:系統依傳入附件數量先補出足夠的空列(每批 10 列),讓你直接點
取檔就能掛檔,不需手動加列。
工作流程樣板載入與禁用¶
- 當視窗載入時,系統依單據別去查對應的工作流程樣板清單:
- 查到樣板 → 自動選第一個樣板,並立即帶出它的簽核關卡到工作流程明細。
- 查不到任何樣板 → 禁用
儲存鈕並跳出「未設定流程樣板」提示,此視窗等同無法使用,只能關閉。
- 當你切換 WorkflowTemplate 下拉時,系統會重新依新樣板抓取簽核關卡(依廠商/客戶/部門/特定使用者條件挑選對應的處理人),即時重建下方的工作流程明細清單。
工作流程明細的組成¶
- 明細的第一關固定是「發佈」:序號
00、審核順序0、狀態=「完成」、優先順序=「一般」、完成率 100%,處理人與實處人都是登入者本人、開始日/到期日為今天。 - 第一關之後才接上樣板帶出的各簽核關卡,依序號排列;遇到「佔位簽核人」時,系統會自動以對應的登入使用者補實。
附件按鈕的行為¶
- 按
GetData(取檔):彈出檔案選取對話框,選定檔案後把路徑寫入該附件列;若該列原本不是新增狀態,會改標記為「修改」並清空「載入」旗標(代表需要重新上傳)。 - 按
Show(顯示):以系統預設程式開啟該列已掛入的檔案供檢視。
按 儲存 時會發生什麼¶
按 儲存 會執行工作流程上傳,依序:
- 防重送檢查:若工作流程明細已經是送出後的狀態(已有正式主鍵),直接略過不重複送。
- 寫回樣板號:把選定樣板的流程樣板號寫進留底主檔。
- 上傳附件:逐一把尚未上傳的附件透過 ERPIO 存檔,取得新檔名與完整路徑後回寫,並把「載入」標記為
Y。已標記刪除的附件會被排除、空白列不會上傳。 - 綁定關聯:把附件與工作流程明細的關聯鍵指回留底主檔。
- 整批寫入:透過聯絡單(COMMPR)儲存程序,把主檔+附件+工作流程明細一次寫入。
- 成功 → 提示「儲存成功」,並鎖住
儲存鈕避免重複送出。 - 失敗 → 顯示錯誤訊息,不鎖按鈕,可修正後重試。
- 成功 → 提示「儲存成功」,並鎖住
目前的留底主檔寫入路徑
本視窗的儲存以工作流程上傳為主軸——主檔、附件、簽核明細是由工作流程上傳流程整批寫入聯絡單資料表。程式中另一段「先單獨寫留底主檔再掛流程」的舊寫法目前為停用狀態,故所有資料以工作流程上傳的結果為準。
來源程式如何叫起本視窗¶
- 本視窗不在主選單,由來源程式透過
OpenRecordWindow帶參數叫起:來源程式把當前畫面的資料表快照(viewxml)、附件路徑清單、序號前置碼與來源單號包成參數傳入,本視窗據此建立留底主檔。 - 視窗為以對話框(Modal)開啟,載入時會隱藏右上角的系統關閉鈕,且唯有按離開鈕才能關閉——直接按視窗的關閉鈕(X)不會生效(避免誤關遺失尚未送出的內容)。
常見問題¶
一開窗就跳「未設定流程樣板」、儲存 鈕是灰的?
代表這個單據別還沒有對應的工作流程樣板。本視窗的簽核關卡完全來自樣板,沒有樣板就無法送出。請先到工作流程樣板維護替該單據別建立樣板後再試。可參考 工作流程樣板選擇。
下方工作流程明細只有一列「發佈」,沒有後續簽核關卡?
第一關「發佈」是系統固定加的(由你本人完成);後續關卡來自所選樣板。若只有「發佈」,多半是該樣板沒有設定後續關卡,或樣板的條件(部門/廠商/客戶/特定使用者)挑不到對應處理人。請檢查樣板關卡設定。
附件掛了檔,按 儲存 後 IsLoaded 還是空白或上傳失敗?
附件是在按 儲存 時才透過 ERPIO 上傳並把「載入」標記為 Y。若上傳失敗,多半是 ERPIO 附件儲存路徑未設定或無寫入權限;請確認附件儲存設定後重試。可參考 附件。
視窗的關閉鈕(右上 X)按了沒反應?
這是刻意設計——本視窗只有按右下角的離開鈕才能關閉,避免在尚未送出時誤關。請改按離開鈕。
送出成功後想再補一筆,儲存 鈕卻變灰?
送出成功後系統會鎖住 儲存 以防重複送出。請關閉視窗,從來源報表重新觸發一次工作流程通報,即會開出一份新的留底紀錄。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/Other/images/):
record-step1.png— 留底主檔區(紀錄單號/建檔日期/製表人員/主旨/內容)record-step2.png— 附件清單(含取檔/顯示按鈕欄)record-step3.png— 工作流程樣板下拉與下方工作流程明細清單