共用方式為


為商務程序流程撰寫指令碼

 

發行︰ 2016年11月

適用於: Dynamics CRM 2015

Microsoft Dynamics CRM 2015 和 Microsoft Dynamics CRM Online 2015 更新 有用戶端物件,可用來與指令碼中的商務程序流程互動。Xrm.Page.data 命名空間經過擴充,包含 Xrm.Page.data.process 下的方法。Xrm.Page.ui 命名空間經過擴充,包含 Xrm.Page.ui.process 下的方法。

本主題內容

商務程序流程的結構

可自動化的動作

商務程序流程的事件

商務程序流程的結構

商務程序流程包含一系列階段,都包含數個步驟。 只有一個階段是使用中的階段。 在每個階段的必要步驟完成時,程序才能夠繼續移至下一個階段,且成為使用中的階段。 下一個階段可以根據商務程序流程中的條件所定義,如下列圖表中所示。

商務程序流程物件

階段可以與特定相關實體關聯,因此,商務程序流程可以跨多個實體。 商務程序保持相同,並帶領使用者至預期的結果。其他資訊:TechNet:商務程序流程

可自動化的動作

一般而言,沿著商務程序的進度取決於使用者輸入。 身為開發人員,您可以透過程式設計方式,在表單指令碼中執行相同動作。

  • 實體有多個程序可用時,變更程序。
    使用 Xrm.Page.data.process.getEnabledProcesses 擷取有關使用者可以針對實體選取已啟用程序的資訊。 然後使用 Xrm.Page.data.process.setActiveProcess 讓其中一個已啟用程序成為使用中的程序。

  • 當必要步驟都已完成時,移至下一個階段,使其成為目前使用中階段。
    使用Xrm.Page.data.process.moveNext

  • 移至上一階段並讓它目前使用中的階段。
    使用Xrm.Page.data.process.movePrevious

  • 選取階段,檢視階段中步驟的狀態。
    使用 Xrm.Page.data.process.getActivePath 擷取相關資訊:已完成階段、目前使用中階段,以及從目前使用中階段的有效階段。 檢查該階段中的步驟並比較對應的表單屬性值,決定是否已完成。

  • 完成步驟
    表單中的對應資料已輸入時,步驟完成。 使用步驟 getAttribute 方法,可決定屬性。 這會傳回屬性的邏輯名稱。 然後使用 Xrm.Page.getAttributeXrm.Page.data.entity.attributes 集合擷取屬性並使用屬性 setValue 方法設定值。

  • 偵測步驟是不是必要
    使用步驟 isRequired 方法決定商務程序流程是否需要步驟。

  • 展開或摺疊商務程序流程控制項
    使用Xrm.Page.ui.process.setDisplayState

身為開發人員,您也可以執行使用者無法執行的一些動作。

  • 隱藏程序控制項
    使用 **Xrm.Page.ui.process.**1468bab0-f6b3-4320-a60c-a88c9d4fcf1f#BKMK_setVisible,您可以控制是否顯示商務程序流程控制項。

  • 跳到有效的已完成階段。
    使用 Xrm.Page.data.process.setActiveStage 設定目前實體的其中一個有效的已完成階段。

  • 查詢程序定義,包括目前看不見的階段
    使用 Xrm.Page.data.process.getActiveProcess 查詢商務程序流程的定義,包括因為此程序的分支邏輯可能看不到的階段。

商務程序流程的事件

您可以將表單提供的所有事件與商務程序流程互動,但是兩個新事件讓您根據商務程序流程控制項的事件來執行程式碼。 當商務程序流程的使用中階段變更 (OnStageChange 事件),或是階段選取時 (OnStageSelected 事件),您可以執行程式碼。

這兩個新事件未提供使用者介面註冊您的事件處理常式。 您必須使用提供的方法,在表單 OnLoad 事件中新增或移除這些事件的處理常式。其他資訊:商務程序流程控制項事件

另請參閱

使用 Xrm.Page 物件模型
Xrm.Page.data.process (用戶端參考)
範例:Xrm.Page.data.process.getEnabledProcesses
範例:Xrm.Page.data.process.getActivePath
商務程序流程控制項事件
TechNet:商務程序流程

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權