Dynamics 365中使用計算字段自動編號字段實時工作流自動生成分組編碼加流水號的自動編號字段值


我是微軟Dynamics 365 & Power Platform方面的工程師羅勇,也是2015年7月到2018年6月連續三年Dynamics CRM/Business Solutions方面的微軟最有價值專家(Microsoft MVP),歡迎關注我的微信公眾號 MSFTDynamics365erLuoYong ,回復376或者20191105可方便獲取本文,同時可以在第一間得到我發布的最新博文信息,follow me!

我這里假設一個場景,測試自定義實體需要一個自動編號字段,編號為創建這個記錄的人所屬業務部門的address1_country的值加上一個6位數的流水號,比如 ZH-000001。

這個一定要用插件寫代碼來實現嗎?不一定,利用自動編號類型的字段,計算字段加上實時工作流可以配置出來。

首先我需要為這個測試實體TestEntity創建一個Autonumber格式的字段,此種字段的介紹請參考我的博文 Dynamics 365 Customer Engagement V9.X新引入的自動編號屬性介紹 ,如圖。

 

 

 

然后我需要在用戶顯示用戶所屬業務部門的address1_country字段值,怎么辦?用計算字段來做。為用戶(systemuser)實體添加一個計算字段如下:

 

 

 

計算公式如下,可以看到是該用戶所屬業務部門的address1_country字段的值。

 

 

將這個新增的字段增加顯示到用戶實體表單發布后你可以看到效果。但是默認情況下你改不了根業務部門的字段值,因為不能為其選擇一個父業務部門,保存的時候會報錯 You must provide a value for Parent Business.,如下。

 

 

那怎么辦?參考我的博文:不借助工具在瀏覽器中通過Web API執行Dynamics 365操作(Action)實例 ,我是用如下的JS代碼來設置根業務部門這個字段的值。

var clientURL = Xrm.Page.context.getClientUrl();
var req = new XMLHttpRequest()
req.open("PATCH", encodeURI(clientURL + "/api/data/v9.1/businessunits(3B4C4300-9AD7-E911-AA0E-000D3AA3715F)"), true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.onreadystatechange = function () {
    if (this.readyState == 4 /* complete */) {
        req.onreadystatechange = null;
        if (this.status == 204) {
            Xrm.Utility.alertDialog("記錄修改成功!");
        }
        else {
            var error = JSON.parse(this.response).error;
            Xrm.Utility.alertDialog("修改記錄出錯." + error.message);
        }
    }
};
var requestMsg = {};
requestMsg["address1_country"] = "ZH";
req.send(JSON.stringify(requestMsg));

 

可以看到我更新成功了。

 

 然后我需要建立一個實時工作流,實時工作流就是創建的流程種類選擇 工作流(Workflow),然后 Run this workflow in the background (recommended) 這個選項不要選中。

 

 

該實時工作流觸發的實際選擇 After Record is created,一般我選擇Execute as the owner of the workflow,以免實時工作流運行碰到權限問題。

 

 

 添加一個步驟來設置當前實體這個自定義編號字段的值,字段值設置為兩個字段值的組合,分別如下:

 

 

 

 

這兩個字段值組合起來的值如下:

 

 

 然后我去測試下,我新建一條記錄,保存,可以看到生成了我想要的自定義編號格式。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM