Dynamics CRM 日常使用JS整理(二)
整理了一下一些与 BPF(Business Process Flow)相关的 JS 操作:
为 Stage 添加 changed 或者 selected 事件:
function fnOnLoad() {
Xrm.Page.data.process.addOnStageChange(fnStageChanged);//change 事件,跳转到当前 Stage 时触发
Xrm.Page.data.process.addOnStageSelected(fnStageSelected);//select事件,选中当前 Stage 时触发
}
function fnStageChanged(execContext){
var currentStage = execContext.getEventArgs().getStage();//获取当前Stage
//其他操作
}
获取当前 Stage:
var activeStage = Xrm.Page.data.process.getActiveStage();
获取当前 Stage 的名称:
var sName = activeStage.getName();
获取当前 Stage 的状态:
var oStatus = activeStage.getStatus(); //active or inactive
更多相关的 api 可以参考:
https://adisys.wordpress.com/2017/01/03/dynamics-crm-scripting-for-business-process-flows/
获取 Stage 下的字段名(step):
//"header_process_sFiledName",可用F12查看,若存在同名step,系统会自动在后面累加数字,比如:"header_process_sFiledName_1"
对 Stage 中的字段加锁(设置只读):
Xrm.Page.getControl("header_process_sFiledName_1").setDisabled(true);
设置 BPF 的状态:
Xrm.Page.data.process.setStatus("finished");//set finished,BPF流程已经完成
获取 BPF 的状态:
var oStatus = Xrm.Page.data.process.getStatus(); oStatus == "active"; //BPF处于active状态,未finished oStatus == "finished"; //BPF处于finished状态 oStatus == "aborted"; //BPF处于abandon状态,灰色不可编辑
abandon 一个 BPF,整个流程会变成灰色,不可操作:
Xrm.Page.data.process.abandonProcess(); //BPF处于finished状态时,不可以执行abandon操作,会报错
reactivate 一个 BPF,将已经 abandon 的 BPF 恢复到 active 状态,可编辑和操作:
Xrm.Page.data.process.reactivateProcess();
Note:利用 JavaScript 对 Business Process Flow 进行 abandon 或者 reactivate 需要在 Form 的 OnSave 事件执行完毕之后,可以利用回调函数(call back)来完成。
Dynamics CRM 日常使用JS整理(二)的更多相关文章
- Dynamics CRM 日常使用JS整理(一)
整理下平时CRM开发中用到的一些基本的js操作 取值: var oResult = Xrm.Page.getAttribute(sFieldName).getValue(); var oResult ...
- Dynamics CRM 日常使用JS整理(三)
一.指定 Partylist 类型字段能 lookup 的实体(以 Appointment 中某个字段为例子): var control = Xrm.Page.getControl("req ...
- Dynamics CRM不发布JS调试
本博客已迁移至 http://www.krely.cn/ 上个项目做了一年多,大多是在做JS的开发,由于开发人数比较多,着实被坑的不轻.因为JS修改完成之后必须要发布,对于我们动辄几千行的JS的调 ...
- Dynamics CRM 常用的JS
常用JS(一) Xrm.Page.context.getUserId(): //获取当前用户id Xrm.Page.context.getUserName(): //获取当前用 ...
- Microsoft Dynamics CRM 2011/2013 JS操作集锦
1.Xrm.Page.context用户ID:getUserId()用户角色:getUserRoles()用户语言:getUserLcid()组织名称:getOrgUniqueName()组织语言:g ...
- Microsoft Dynamics CRM 2011 常用JS 按F12 改动窗体上数据的方法
1.按F12打开控制台输入下面代码: contentIFrame.Xrm.Page.getAttribute("new_status").setValue(50);//设值cont ...
- Dynamics CRM 365常用js记录。
var entityname =window.parent.Xrm.Page.data.entity.getEntityName();//获取实体名称 var sampid = window.pare ...
- 在Dynamics CRM中使用Bootstrap
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- Dynamics CRM中的操作(action)是否是一个事务(transaction)?
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复168或者20151104可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 以前的博文 微软Dynamics ...
随机推荐
- vue 外部字体图标使用,无须绝对路径引入办法
通常外部字体图标都在使用 iconfont ,这种图标在网上搜到一大把都是由于路径问题显示不出来,或者是显示个方块. 最近的项目中也碰到这个坑爸的问题,总结一下解决办法: 和 webpack.conf ...
- 【shell基础】if分支语句
1.if判断式if [ 条件判断一 ] && (||) [ 条件判断二 ]; thenelif [ 条件判断三 ] && (||) [ 条件判断四 ]; thenels ...
- 四。Hibernate 使用MAVEN工具
maven工具的使用1.作用:打包项目以及jar包的版本管理2.使用步骤: a.下载maven工具,修改conf目录下的setting.xml文件 <mirror> <id>a ...
- pytorch中文文档-torch.nn常用函数-待添加-明天继续
https://pytorch.org/docs/stable/nn.html 1)卷积层 class torch.nn.Conv2d(in_channels, out_channels, kerne ...
- 8年,从2D到3D,我的学习之路
Mickey 写了一篇 <一个本科毕业生创业两年的感悟>,从他的视角,总结了我们合作的两年经历. 我也来写一篇,介绍我的学习之路,希望对大家有所帮助,谢谢大家- 我的学习方法 1.直接从0 ...
- pycharm中运行时添加配置 及pytest模式怎么修改为run模式
会发现不是控制台输出,而是pytest模式. 修改: 当运行时,发现无法运行: 然后点击Add Configuration, 点击加号,点击Python: 选择脚本路径和解释器.点击OK即可.
- 关于微信小程序分享提示{"errMsg":"config:ok"}
提示 {"errMsg":"config:ok"} {errMsg: "onMenuShareTimeline:ok"} {errMsg: ...
- [转帖]rsync简介
rsync用法详细解释 https://www.cnblogs.com/noxy/p/8986164.html 之前一直使用 scp 现在发现这个命令更好一些. 提要 熟悉 rsync 的功能及其特点 ...
- Mint-ui 脱坑日记
Field表单组件 这个组件真是大坑特坑 带默认背景边框 找了半天才找到 原生属性 :attr="{ maxlength:10 }" 是可以设置原生属性的 注意此处限制的输入长度 ...
- git常用命令二、:git stash
Git stash 储藏工作现场(当你不得不新建分支,或者切换分支,但是当前工作区的修改并不想提交) git stash Saved working directory and index state ...