Dynamics 365-三:工作流
參考文檔
瑞泰信息技術有限公司
流程
流程的種類
業務流程BusinessProcess:可視化的流程,創建流線型的業務流程讓用戶對客戶都遵循相同的步驟,告訴用戶當前在哪一步要做什么
腳本Dialog:使用腳本可以創建一個向導式界面,指引用戶完成客戶交互腳本
工作流Workflow:使用工作流可以在后臺實現業務流程自動化,可以由事件觸發,也可以按需運行
操作Action:操作是一種能通過API/后端代碼調用的自定義代碼邏輯的流程
各流程的差異
業務流程Business Process Flow、腳本/對話Dialog、工作流Workflow都可以低代碼開發,而操作Action具有一定的編程能力,需要自定義代碼邏輯。
業務流程Business Process Flow:流程指導是基于相同的步驟,為用戶完成工作提供指導,例如銷售線索流程、商機流程、案例解決流程等,它可以由用戶啟動或自動啟動。
腳本/對話Dialog:流程指導是向導式界面交互,它是實時進程,需要由用戶輸入才能運行完成,它存儲正在運行腳本所生成信息的實體是ProcessSession實體。
工作流Workflow:流程指導是后臺實現業務流程自動化,例如根據客戶門店關系更新客戶歸屬導購、積分賬戶變化更新會員等級。它為異步或實時進程,無需用戶輸入即可運行完成。異步進程在后臺運行,而實時進程立即運行。它存儲正在運行的異步工作流的詳細信息的實體為AsyncOperation,而Process用于實時工作流。
操作Action:流程指導是使用API/后端代碼調用的自定義代碼邏輯,例如訂單確認、入庫確認、入庫簽收等。它可以由用戶啟動或自動啟動。
業務流程
業務流程階段、步驟和類別
? 每個階段只能指定一個實體;每個階段包含一組步驟,每個步驟代表可以輸入數據的一個字段。
? 用戶可以使用下一階段按鈕前進到下一階段;可以將某個步驟設為必需步驟,使得用戶必須為對應的字段輸入數據后才能繼續到下一階段,這稱為“階段門限”。
? 每個實體最多有10個激活的業務流程;每個業務流程可以最多包含30個階段;每個階段最多30個步驟。
業務流程權限
編輯安全角色:選擇某個安全角色-業務流程選項卡-設置權限
創建:允許創建業務流程的實例,在創建新記錄的同時完成。
讀取:允許查看已創建記錄中的業務流程。
寫入:允許更新業務流程。 例如,更改狀態和導航。
刪除:允許刪除實例,如在刪除記錄時。
追加:允許從實體的跨實體導航。 例如,潛在顧客轉化為商機銷售流程業務流程中的潛在顧客實體。
追加到:允許到實體的跨實體導航。 例如,潛在顧客轉化為商機銷售流程業務流程中的商機實體。
業務流程的順序
? 多個業務流程顯示順序可通過點擊上下箭頭進行排序,業務流程默認顯示的是有權限看到的第一個業務流程。另外多個業務流程時可通過自動或手動方式進行切換。
工作流
工作流的分類
后臺工作流(異步):依賴于Windows服務(Microsoft Dynamics CRM異步處理服務),是CRM服務器上運行的服務。有可能不會立即執行。
實時工作流(同步):立即執行的工作流,跟插件一樣,也是用事件執行管道執行。如果在執行過程中有異常發生,會取消并回滾整個操作。實時工作流里所有的活動和子流程都是一個事務。如果工作流執行成功,就看不到執行的log。如果執行失敗且啟用日志,則實時工作流錯誤記錄在進程會話(ProcessSession)實體記錄中。
工作流的運行方式
在后臺運行此工作流(推薦):勾選代表異步工作流,不勾選代表同步工作流
作為按需流程:手動執行
作為子流程:由其他工作流Workflow或腳本Dialog中調用
工作流配置項
范圍:用戶/業務部門/上下級業務部門/組織。
啟動時間:創建記錄后-記錄狀態更改后-分派記錄后-記錄字段更改后-刪除記錄后。記錄指工作流中定義的實體。啟動時間可多個組合,兩者間是或的條件。
Workflow步驟
條件:檢查條件【推薦】判斷當前字段是否滿足某個值;等待條件;
操作:創建-更新-分派-發送電子郵件-啟動子工作流-執行操作-更改狀態-停止工作流。
自定義工作流
創建工作流項目
安裝工作流項目模板
打開VS安裝工具,在單組件選項中搜索windows workflow foundation安裝
創建工作流項目
打開VS,新建項目,選擇workflow分組下活動庫(Activiy Lbray)模板,點擊確定創建
刪除自動生成的.xaml文件
創建工作流文件
右鍵項目,選擇添加,新建項
選擇Workflow組下代碼活動文件(code activity),點擊確定創建
引入相關庫
Microsoft.crm.sdk
Microsoft.crmsdk.workflow
編寫代碼
using System;
using System.Activities;
using Microsoft.Xrm.Sdk.Workflow;
using Microsoft.Xrm.Sdk;
namespace T2
{
public sealed class CodeActivity1 : CodeActivity
{
// 定義一個字符串類型的活動輸入參數
[Input("Text")]
public InArgument<string> Text { get; set; }
// 定義一個字符串類型的活動輸出參數
[Output("OutText")]
public OutArgument<string> OutText { get; set; }
protected override void Execute(CodeActivityContext context)
{
// 獲取 Text 輸入參數的運行時值
string text = context.GetValue(this.Text);
IWorkflowContext workflowContext = context.GetExtension<IWorkflowContext>();
IOrganizationServiceFactory factory = context.GetExtension<IOrganizationServiceFactory>();
IOrganizationService service = factory.CreateOrganizationService(null);
Guid id = Guid.Empty;
Entity entity = new Entity("new_customer");
entity.Attributes.Add("new_phone",Text.Get(context));
id = service.Create(entity);
OutText.Set(context,id.ToString());
}
}
}
生成,簽名
右鍵項目,屬性
簽名,勾選程序集簽名,選擇新建,取消加密,輸入簽名名稱,確定,保存
注冊工作流
打開注冊工具
添加工作流DLL
選擇DLL文件,勾選添加的工作流類文件,點擊添加,完成
使用工作流
流程中心,流程
新建流程
輸入流程名稱,類型為工作流,選擇關聯的實體,創建
配置工作流
勾選流程執行時機,添加步驟,添加注冊的工作流
配置屬性
若流程有輸入屬性,可設置輸入屬性關聯信息(綁定值,默認值等)
到達勝利之前無法回頭!
總結
以上是生活随笔為你收集整理的Dynamics 365-三:工作流的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米路由器当无线网卡使用方法如何用小米路
- 下一篇: 百度乐播音乐真实地址查找api接口