設計處理流程

可設計各種處理流程來實作業務使用者可能需要執行的線上任務。如需詳細資訊,請參閱瞭解處理流程

以下是設計和設定各種處理流程類型所需的概略步驟摘要。

分析任務

下列提供有關分析支援實作新處理流程類型所需之必要資料和規則的概略指引:

  • 識別完成整個任務所需的資料和業務規則。
    • 可能的話,請將資料組織為定義為資料區域的邏輯明細群組。

    • 設計最終處理指令檔的邏輯,此指令檔接受與使用者動作一起輸入的整個資料,以完成或取消任務。

    • 如果一開始需要為新起始的處理流程準備資料,則請設計對應初始處理指令檔的邏輯。

    • 判斷摘要面板對使用者複查已完成處理的結果是否有用。

  • 設計使用者應該遵循以完成任務的面板順序。識別初始和最終面板。

  • 複查每個面板,並決定下列項目:
    • 它是單一面板還是巢狀處理流程 (即面板集)?

    • 面板的標題以及它在進度列上的標籤為何?

    • 應該如何轉譯版面配置?使用資料區域,以利用 UI 提示來描述面板版面配置 (可能的話)。對於更複雜的 HTML 需求,您可以使用 UI 對應片段。

    • 使用者進入此面板時,此面板上的明細是否應該預設具有一些初始值?如果是,請設計對應前處理指令檔的邏輯。

    • 如果在使用者結束面板之前應該先驗證此面板上輸入的資料,則請設計對應後處理指令檔的邏輯。

  • 如有必要,請設計摘要面板。

  • 決定這類型的處理流程應該由系統自動儲存,還是僅由使用者控制何時儲存資料。

  • 決定是否應該保留已完成處理流程的記錄以進行稽核,還是在完成時刪除。

  • 決定使用者是否可以刪除這類處理流程的進行中記錄。

  • 決定將這類型的處理流程儲存至資料庫中的專用資料表,還是儲存至基準產品所提供的一般資料表。假設的情況是,不常引進新指定的儲存維護物件。請參閱您的邊緣產品文件,以瞭解可能已提供的其他維護物件來支援產品隨附的特定處理流程類型。

  • 決定使用者可在其中起始、繼續處理,以及複查該類型之處理流程的內容。
    • 處理流程可能會從功能表或常用指令檔等啟動。

    • 設計查詢入口,讓使用者用來尋找和繼續這類型的已儲存處理流程,以及複查已完成的處理流程記錄。根據此任務的內容,查詢可能會與可起始處理流程的相同功能表明細行相關聯。

使用 UI 對應面板

對應片段通常會轉譯為完整 UI 對應的一部分,但作為處理流程面板使用時,系統會在假設片段包含完整對應的情況下轉譯面板。

因此,這類片段應該包含下列項目:
  • 用於報告錯誤的標準錯誤訊息區段。

  • 此行 <xml style="display:none"></xml> 在 HTML 內容的結尾,以將資料適當地繫結至其 HTML 元素。

基於 UI 對應的面板允許進一步控制使用者可用的一些按鈕。例如,除非輸入必要資訊,否則面板可防止使用者前往下一個面板。如需詳細資訊,請參閱處理控制器 UI 對應 (F1-ProcessController) 中所列的明確 API。

設定處理流程類型

下列描述設定新處理流程類型所需的概略步驟:

  • 建立處理流程的 UI 對應。其結構應該包含完成任務所需的所有明細。其 HTML 只應該包含處理控制器 UI 對應片段。

  • 如有必要,建立起始處理服務指令檔。

  • 建立最終處理服務指令檔,以便它會套用完成或取消任務所需的所有規則。

  • 對於每個面板,請執行下列動作:
    • 除非它對應至已包含在處理流程結構中的資料區域,否則請為其建立 UI 對應片段。請確定資料區域或 UI 對應中每個元素參考的 XPath 都是該元素在處理流程 UI 對應結構中的相同 XPath。

    • 如有必要,建立前處理服務指令檔。不適用於摘要面板。

    • 如有必要,建立後處理服務指令檔。不適用於摘要面板。

    • 如果無法使用現有標籤和標題中繼資料欄位,則請予以設定。

  • 建立處理流程的業務處理助理指令檔。

  • 設定處理流程類型記錄。

  • 設定導覽選項,並參考其中的業務處理助理指令檔。將導覽選項與功能表相關聯,或提供其他方法,讓使用者起始處理流程。

  • 建立特定類型之處理流程記錄的查詢入口。將新的查詢入口新增至功能表,或提供其他方法,讓使用者繼續處理它們已儲存或複查已完成記錄的處理流程。

控制標準按鈕的可見性

您可以利用下列 javaScript 函數,來控制標準處理流程按鈕的可見性:

  • 下一步:enableNext()disableNext()hideNext()showNext()

  • 完成:enableFinish()disableFinish()hideFinish()showFinish()

  • 儲存:enableSave()disableSave()hideSave()showSave()