我是微软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,以免实时工作流运行碰到权限问题。

添加一个步骤来设置当前实体这个自定义编号字段的值,字段值设置为两个字段值的组合,分别如下:

这两个字段值组合起来的值如下:

然后我去测试下,我新建一条记录,保存,可以看到生成了我想要的自定义编号格式。

Dynamics 365中使用计算字段自动编号字段实时工作流自动生成分组编码加流水号的自动编号字段值的更多相关文章

  1. Dynamics 365中配置和使用文件夹级别的跟踪(folder-level tracking)

    本人微信和易信公众号:微软动态CRM专家罗勇 ,回复274或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  2. 自定义工作流活动报错:您无法登陆系统。原因可能是您的用户记录或您所属的业务部门在Microsoft Dynamics 365中已被禁用。

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复265或者20170926可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  3. 将Dynamics 365中的用户及其角色、角色导出到Excel中

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复240或者20161204可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  4. Dynamics 365中的应用程序介绍

    本人微信和易信公众号:微软动态CRM专家罗勇 ,回复275或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  5. Dynamics 365工作流报错:您无法登陆系统。原因可能是您的用户记录或您所属的业务部门在Microsoft Dynamics 365中已被禁用。

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复265或者20170926可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  6. Dynamics 365中开发和注册插件介绍

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  7. Dynamics 365中计算字段与Now进行计算实体导入报错:You can't use Now(), which is of type DateTime, with the current function.

    微软动态CRM专家罗勇 ,回复338或者20190521可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me. 计算字段是从Dynamics CRM 2015 SP1版本开始推 ...

  8. Dynamics 365中部分账号使用系统明显缓慢怎么办?先这么干!

    摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复263或者20170828可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...

  9. Dynamics 365中自定义工作流活动获取的上下文分析及注意事项

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复244或者20170306可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

随机推荐

  1. 关于Go defer的详细使用

    先抛砖引玉defer的延迟调用:defer特性: . 关键字 defer 用于注册延迟调用. . 这些调用直到 return 前才被执.因此,可以用来做资源清理. . 多个defer语句,按先进后出的 ...

  2. MYSQL删除

    1.使用360卸载,并强力删除相关东东 2.清理注册表: A.HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application ...

  3. LAMP架构介绍、MySQL、MariaDB介绍、MySQL安装

    5月23日任务 课程内容: 11.1 LAMP架构介绍11.2 MySQL.MariaDB介绍11.3/11.4/11.5 MySQL安装扩展mysql5.5源码编译安装 http://www.ami ...

  4. expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统、批量远程执行命令

    7月20日任务 20.31 expect脚本同步文件20.32 expect脚本指定host和要同步的文件20.33 构建文件分发系统20.34 批量远程执行命令扩展:shell多线程 http:// ...

  5. Python Kite 使用教程 轻量级代码提示

    1: 概述 今天升级annacoda 插件 spyder  (4.0.0 )的时候 提示安装kite ,这是什么玩意? 下载下来试一试? 原来:就是一个代码提示插件.. 说白了" 就是让开发 ...

  6. linux下安装numpy,pandas,scipy,matplotlib,scikit-learn

    python在数据科学方面需要用到的库: a.Numpy:科学计算库.提供矩阵运算的库. b.Pandas:数据分析处理库 c.scipy:数值计算库.提供数值积分和常微分方程组求解算法.提供了一个非 ...

  7. php踩过的那些坑(5)浮点数计算

    一.前方有坑 php在使用加减乘除等运算符计算浮点数的时候,经常会出现意想不到的结果,特别是关于财务数据方面的计算,给不少工程师惹了很多的麻烦.比如今天工作终于到的一个案例: $a = 2586; $ ...

  8. 第二章 Unity Shader基础

    [TOC] 1. Unity Shader 的基础: ShaderLab 学习和编写着色器的过程一直是一个学习曲线很陡峭的过程,通常情况下为了自定义渲染效果往往要和很多文件和设置打交道,这些设置很容易 ...

  9. Linux下设置mysql不区分大小写

    一.通过命令查看mysql是否是区分大小写的 show variables like '%case_table%'; lower_case_table_names=1(说明是不区分大小写的) lowe ...

  10. 失去循环标记的Python,我这样实现跳出外层循环

    不完美的Python 自从各类Python大火,感觉天上地下哪儿都有Python的一席之地,Python功夫好啊-但python有些细节上缺少其他语言的便利.今天我们就来举几个例子. 跳出外层循环 大 ...