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 ...
随机推荐
- 用存储过程向数据库添加大量数据【mysql】
预分配ID的设计,需要先为数据库生成大量的数据.比如对用户ID有要求的系统,那么用户ID就要预先生成. 通过python,php,c/c++/c#,js等程序生成也是可以,但需要这些程序环境,而且单条 ...
- Debain/Ubuntu/Deepin 下使用 ss
如果你有一台 ss 的服务器,在 Debian Like 的环境下要如何***呢? 安装 ss 客户端 如果还没安装 pip 就得先安装 sudo apt-get install python-pip ...
- Linux 下载包链接地址
Linux包下载链接地址: http://mirrors.sohu.com http://mirrors.163.com/
- Linux ssh登陆慢的两种原因分析
Linux ssh登陆慢的两种原因分析 如果做运维就一定会遇到ssh登陆Linux服务器慢的问题,问题比较好解决,一般Google之后有很多文章都告诉你解决方法,但是很少有文章分析为什么会慢,这篇文章 ...
- LeetCode算法题-Shortest Completing Word(Java实现)
这是悦乐书的第309次更新,第330篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第178题(顺位题号是748).从给定的字典单词中查找最小长度单词,其中包含字符串lic ...
- python学习笔记3_抽象
这一步的学习四个知识点,如何将语句组织成函数,参数,作用域(scope),和递归 一.函数 1.抽象和结构 抽象可以节省很多的工作量,实际上它的作用更大,它是使得计算机程序让人读懂的关键(这也是最基本 ...
- Scala操作Hbase空指针异常java.lang.NullPointerException处理
Hbase版本:Hortonworks Hbase 1.1.2 问题描述:使用Scala操作Hbase时,发生空指针异常(java.lang.RuntimeException: java.lang.N ...
- python icmp\dns\http监控网络各个节点状态,并记录日志
配置文件如下:支持多节点: { "dns":[{"domainname":"www.baidu.com","dnsserver&q ...
- selenium3(java)之屏幕截图操作
selenium提供了截图的功能,分别是接口是TakesScreenshot和类RemoteWebDriver.该功能是在运行测试用例的过程中,需要验证某个元素的状态或者显示的数值时,可以将屏幕截取下 ...
- 分布式存储ceph——(4)ceph 添加/删除osd
一.添加osd: 当前ceph集群中有如下osd,现在准备新添加osd: