跳轉到

程式資訊

  • 程式 IDEventtemplateOld
  • 所屬子系統:L.聯絡傳訊
  • 狀態:stable

事件範本(舊版)

此頁為已棄用功能(deprecated)

EventtemplateOld事件範本輸入畫面的舊版獨立表單。經程式碼確認,這支 View 目前:

  • 沒有專屬的 ViewModel/DataTemplate 與它配對,且 XAML 上多個綁定(如 CategorySourceGetOwnerCommandDetail)在任何 ViewModel 都沒有對應屬性,因此這些欄位/按鈕即使顯示也不會運作;
  • 沒有在 App.xaml 註冊 DataTemplate,也沒有專屬的 ProgramClass,所以無法從主選單開啟
  • 它的功能已被排程事件 (EVENTPROJECT)新增事件時跳出的「新增事件」彈窗AddEventContent)取代。

本頁僅作為開發者與舊版使用者的對照參考,說明此畫面原本的用途與欄位意義。請勿把它當成可操作的現行功能;要設定事件範本/排程,請改用排程事件

功能簡介

「事件範本」用來定義一筆可重複套用的排程事件樣板——包含這個事件要在什麼時間、用什麼頻率(一次/每天/每週/每月/每年)發生、要不要通知、通知誰、以及到時候要不要自動執行某支程式的某個方法(AutoPilot 自動化)。範本本身不是真正的行事曆事件;它是被「展開」成一筆筆實際事件項目(eventitem)的母體。

在新版系統中,這份範本資料 (Twork_skd_vw_eventtemplatedSource) 仍然是事件排程的核心,但輸入介面已從這支獨立表單,改為內嵌在排程事件裡的「新增事件」彈窗。使用者按排程事件工具列的「新增事件」時,會跳出該彈窗填寫範本,按確定後系統才把範本展開成明細事件。

為什麼叫「舊版(Old)」

系統早期把事件範本做成一支獨立頁面(即本頁的 EventtemplateOld)。後來改版時,把同一份範本資料搬進排程事件的明細新增流程,做成共用的彈窗元件 AddEventContent,這支獨立頁面就被留下不再掛載。兩者填的是同一張範本,差別只在進入點與版面。

前置需求

本表單無法獨立開啟

因為沒有 ProgramClass 與選單註冊,下列權限/資料僅就「範本資料實際運作」而言列出,並非本頁可獨立操作的條件。實際操作請走排程事件

資料 影響什麼
部門主檔(DEPT) 擁有者類別選「部門」時,擁有者代號 的搜尋來源
員工主檔(PERDATA) 擁有者類別選「個人」時的搜尋來源;通知人員的 Email/Line 帳號
AutoPilot 任務登錄(IAutoPilotRegistry 「執行項目」下拉清單;可選的程式 × 方法組合
使用者瀏覽權限 「執行項目」只會列出使用者有瀏覽權限的程式

操作步驟

規劃保留,非現行操作流程

以下步驟描述此舊版表單原本的設計流程,現行系統不走這支頁面。等同操作請見排程事件 → 新增事件

  1. 項目名稱輸入範本主鍵(TsPrimaryKeyTextBox,新增時必填)。
  2. 項目描述作為事件說明。
  3. 執行類別(日期類別):一次/每天/每週/每月/每年。
  4. 設定預定日期預定時間,以及前置時間(天)持續時間(天)
  5. 右側設定停用是否自動執行通知通知方式電子郵件
  6. 擁有者所屬類別(系統/部門/個人),再用 ... 按鈕或搜尋框帶出擁有者代號
  7. 下方表格維護自動化的步驟明細(序號/步驟/步驟說明/頁面名稱/執行程式/參數)。
  8. 完成後由上層流程把範本展開成實際事件項目。

欄位說明

下列欄位對應範本資料來源 Twork_skd_vw_eventtemplatedSource,新版「新增事件」彈窗用的也是同一份資料。

欄位 必填 說明/格式/預設
項目名稱 範本識別(主鍵性質欄位)
項目描述/說明 事件說明;新版彈窗按確定時會檢查說明不可空白,否則擋下
執行類別(日期類別) 一次 / 每天 / 每週 / 每月 / 每年;改動會自動帶預定天計算截止日期(見欄位連動
預定天 依執行類別自動帶(每週/每月預設 1,其餘 0
預定日期 / 預定時間 事件首次發生的日期與時間
計算截止日期 重複事件展開的結束界線;非「一次」時預設今天 + 5 年;存回時若小於預定時間會被夾回預定時間
前置時間(天) 提前多久通知;與前置時間(秒)雙向換算(1 天 = 86400 秒)
持續時間(天) 事件持續長度;與持續時間(秒)雙向換算
停用 Y/N
是否自動執行 Y/N;到期是否自動跑 AutoPilot 任務
通知 Y/N;新版預設帶 Y
通知方式 Email/Line 等列舉
電子郵件 / 通知人員 通知對象;系統依通知方式自動帶出該員工的 Email 或 Line 帳號
擁有者所屬類別 系統 / 部門 / 個人;決定擁有者代號的搜尋來源
擁有者代號 可多筆(逗號分隔);類別為「系統」時固定為 SYSTEM
單據別 / 執行方法 / 參數 AutoPilot 自動化設定:要在到期時執行哪支程式的哪個方法、帶什麼 JSON 參數

欄位連動與附加功能

以下連動來自範本資料來源 Twork_skd_vw_eventtemplatedSource 與相關 ViewModel,在新版「新增事件」彈窗中仍然有效(同一份程式碼)。

執行類別(日期類別)改變時

當你切換執行類別,系統會自動調整兩個欄位:

  • 一次(OneTime):預定天設為 0
  • 每天(Daily):預定天設為 0,計算截止日期帶今天 + 5 年
  • 每週(Weekly):預定天設為 1,計算截止日期帶今天 + 5 年。
  • 每月(Monthly):預定天設為 1,計算截止日期帶今天 + 5 年。
  • 每年(Annually):預定天設為 0,計算截止日期帶今天 + 5 年。

前置/持續時間「天」與「秒」雙向換算

  • 你在前置時間(天)/持續時間(天)輸入的值,會即時換算成(× 86400,四捨五入)寫回資料;反向修改秒欄位時,天數欄位也會跟著重算(保留 2 位小數)。
  • 因此「天」與「秒」是同一個值的兩種顯示,改任一邊另一邊立即同步。

計算截止日期的下限保護

  • 當你把計算截止日期設成比預定時間還早時,系統會自動把它夾回等於預定時間,避免出現「結束早於開始」的無效區間。

擁有者類別連動搜尋來源

切換擁有者所屬類別時,擁有者代號的搜尋設定會跟著換:

  • 部門:搜尋來源切到部門主檔(DEPT),用部門代號查、顯示部門名稱。
  • 個人:搜尋來源切到員工主檔(PERDATA),用員工編號查、顯示姓名。
  • 系統:擁有者代號被鎖成唯讀並固定填入 SYSTEM
  • 擁有者代號支援多筆(逗號分隔),展開事件時會逐一拆開各自建立事件項目。

通知人員帶出通知帳號

  • 輸入通知人員(員工編號,可多筆)後,系統會依通知方式自動查出對應帳號:
    • 通知方式為 Email → 取該員工的 Email。
    • 通知方式為 Line → 取該員工的 Line 帳號。
  • 同時會把員工編號換成姓名顯示在旁邊(唯讀),方便確認選對人。

AutoPilot 自動化參數

  • 執行項目下拉把「程式 × 方法」合併成一個選項(只列出使用者有瀏覽權限的程式)。選定後會自動帶入該方法的預設參數骨架(JSON)。
  • 參數支援占位符,會在排程當日自動展開,例如:
    • {d} → 排程當日日期
    • {-d1} → 上個月最後一天
    • {eventpkid} → 事件 pkid
  • 執行旗標有「執行後完成」「自動執行」兩個勾選;範本展開成事件時,這些旗標會一起帶到每筆事件項目。
  • 範本展開(CreateItemCreateEventItem)會依執行類別呼叫對應的日期產生器(每天/每週/每月/每年/一次)逐筆建立事件項目,並把通知時間算成「預定時間 − 前置時間」、預定結束時間算成「預定時間 + 持續時間」。

這支舊版頁面的明細表格

EventtemplateOld.xaml 下半部有一個明細表格(序號/步驟/步驟說明/頁面名稱/執行程式/參數),對應 Detail 集合。由於沒有任何 ViewModel 提供 Detail,此表格在現行系統不會載入資料;自動化參數在新版改以單一「執行項目 + 參數 JSON」的方式設定(見上)。

常見問題

主選單找不到「事件範本(舊版)」?

找不到是正常的。這支頁面沒有註冊 ProgramClass,也沒有選單入口,已被排程事件內的「新增事件」彈窗取代。請改從排程事件進入。

我要設定每月/每週自動跑的排程事件,該去哪裡?

請開排程事件 (EVENTPROJECT),按工具列「新增事件」,在跳出的彈窗中設定執行類別、通知與自動化參數。填的就是本頁所說的同一張範本。

為什麼這頁的明細表格(步驟/執行程式)是空的?

因為新版已不用「多步驟明細」來描述自動化,改成單一「執行項目(程式 × 方法)+ 參數 JSON」。舊版表格欄位沒有對應的資料來源,故不會有內容;相關設定請見AutoPilot 自動化參數

計算截止日期為什麼自己變成 5 年後?

當執行類別不是「一次」時,系統會自動把計算截止日期帶成今天 + 5 年作為重複事件的展開上限;你仍可手動改短。若改得比預定時間還早,會被自動夾回等於預定時間。

擁有者類別選「系統」後,擁有者代號改不動?

這是設計行為。類別為「系統」時,擁有者代號會被鎖成唯讀並固定為 SYSTEM,代表系統層級事件。要指定部門或個人,請改選對應類別。

相關功能


需補截圖清單

本頁為已棄用功能,若日後仍需保留畫面對照,待 runtime 取得後補拍(放 docs/L-Communication/images/):

  1. eventtemplateold-step1.png — 舊版事件範本整體版面(左:基本資料/右:通知與擁有者)
  2. eventtemplateold-step2.png — 現行取代版本:排程事件中的「新增事件」彈窗