关于BPF是什么,以及如何在CRM中配置BPF,可以参阅熊宸大神的博客Dynamics 365 Business Process Flow -- 让你不再惧怕复杂的业务流程!

  1. CRM中发生了什么

  在你成功构造了一个BPF之后,只有执行Activate操作才会真正生效,而在Activate的过程中,CRM系统会自动地在环境中新建一个此BPF相关的Entity。

  而Entity的logical name就是你新建BPF的时候填写的Name

  上面的coco test是BPF关联的Entity,每一条coco test记录都会有一个ByronDemo BPF记录生成

  2. 获取关于BPF的详细信息

  写关于BPF相关的定制,或多或少都要涉及到stage的操作,那么首先需要知道的,就是这个BPF有哪些Stage,Id又是多少。

  BPF其实是一条Process记录,那么跟获取其它Entity的记录的类似,直接Retrieve

   Entity processRecord = crmProxy.Retrieve("workflow",
new Guid("1310e211-ee01-4a93-92cd-ccd87689c82a"),
new ColumnSet(true));

  返回的Entity对象,可以从两个字段获取Stage信息以及Step信息,一个是xaml,一个是clientdata。

  一个是xml结构对象,一个是json结构对象。这里把json对象展开来看看,我例子中是两个stage,但是系统会默认多一个,也就是说,第一个stage并非我业务相关的。

  

  那么这个stageId有什么用呢?CRM提供的API,如果涉及到具体的stage操作,参数就需要这个Id。比如下面这个API:

formContext.data.process.setActiveStage(stageId, callbackFunction);

  当我们需要前台定制更新某条记录的BPF Stage的时候,要注意BPF的更新是个异步方法,在API的CallBackup方法里,不要忘记加上refresh操作。

  

Dynamics 365-关于BPF的进一步探究的更多相关文章

  1. Dynamics 365 Online-Microsoft Flow

    自December 2016 update for Dynamics 365 (online)之后的Online版本,Dynamics 365有了个新Feature:Microsoft Flow Co ...

  2. 解读 --- 基于微软企业商务应用平台 (Microsoft Dynamics 365) 之上的人工智能 (AI) 解决方案

    9月25日微软今年一年一度的Ignite 2017在佛罗里达州奥兰多市还是如期开幕了.为啥这么说?因为9月初五级飓风厄玛(Hurricane Irma) 在佛罗里达州登陆,在当地造成了挺大的麻烦.在这 ...

  3. Dynamics 365中的事件框架与事件执行管道(Event execution pipeline)

    本文介绍了Microsoft Dynamics 365(以下简称D365)中的两个概念,事件框架(Event Framework)与事件执行管道(Event execution pipeline). ...

  4. Introduction to Microsoft Dynamics 365 licensing

    Microsoft Dynamics 365 will be released on November 1. In preparation for that, Scott Guthrie hosted ...

  5. Dynamics 365 for Team Members Description

    Dynamics 365 for Team Members, Business edition The Dynamics 365 for Team Members, Business edition ...

  6. 为Dynamics 365启用部署级的跟踪以及跟踪文件的定期删除

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

  7. 为实施了IFD的Dynamics 365更换自签名的SSL证书以符合Chrome的要求

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

  8. 为Dynamics 365写一个简单程序实现解决方案一键迁移

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

  9. 不借助工具在浏览器中通过Web API执行Dynamics 365操作(Action)实例

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

随机推荐

  1. 《HelloGitHub》第 35 期

    <HelloGitHub>第 35 期 兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程. ...

  2. Oracle数据库常用SQL函数

    1.SQL函数的概念: 函数一般是在数据上执行的,它给数据的转换和处理提供了方便.只是将取出的数据进行处理,不会改变数据库中的值.(类似于java中的方法但函数只是将数据库中的数据取出(复制)到函数中 ...

  3. java多线程的几种状态

    java线程状态在Thread中定义,源码中能看到有个枚举State,总共定义了六种状态: NEW: 新建状态,线程对象已经创建,但尚未启动 RUNNABLE:就绪状态,可运行状态,调用了线程的sta ...

  4. Netty2:粘包/拆包问题与使用LineBasedFrameDecoder的解决方案

    什么是粘包.拆包 粘包.拆包是Socket编程中最常遇见的一个问题,本文来研究一下Netty是如何解决粘包.拆包的,首先我们从什么是粘包.拆包开始说起: TCP是个"流"协议,所谓 ...

  5. Linux 桌面玩家指南:13. 使用 Git 及其和 Eclipse 的集成

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  6. 阿里如何实现海量数据实时分析技术-AnalyticDB

    导读:随着数据量的快速增长,越来越多的企业迎来业务数据化时代,数据成为了最重要的生产资料和业务升级依据.本文由阿里AnalyticDB团队出品,近万字长文,首次深度解读阿里在海量数据实时分析领域的多项 ...

  7. Ubuntu 安装phpMyAdmin + 配置nginx

    0x01 安装phpMyAdmin ``` sudo apt-get install phpmyadmin ``` 0x02 添加链接 ``` sudo ln -s /usr/share/phpMyA ...

  8. load data infile

    mysql> load data local infile 'd:/lw.txt' into table user (code,password,channelId);Query OK, 478 ...

  9. WebApi生成在线API文档--Swagger

    1.前言 1.1 SwaggerUI SwaggerUI 是一个简单的Restful API 测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON 配置显示API. 项目本身仅仅也只依赖 ...

  10. ViewPagerWithRecyclerDemo【RecyclerView+ViewPager实现类似TabLayout+ViewPager效果】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 使用RecyclerView+ViewPager实现类似TabLayout+ViewPager效果. 效果图 使用步骤 一.项目组织 ...