[英]Update Business Process Flow specific details in Dynamics CRM project
[英]Use client-side script to set Business Process Flow Stage on Opportunity in Dynamics CRM
我在Dynamics CRM 2015 Online工作,当首次从Lead资格创建时,需要对Opportunity应用一些条件规则。 在某些情况下,我们需要自动将业务流程阶段推进到流程的第二阶段。 我已经尝试使用Opportunity Create上的插件的变体来设置阶段ID,但是当从Lead创建Opportunity时,似乎我分配的任何值都会被忽略。 现在我正试图在Opportunity Form OnLoad事件期间触发一个javascript函数。 这里有一个问题是我也在努力反对一个业务需要的领域,但是当从Lead创建Opportunity时没有填写,所以我不能在脚本中做一个简单的Xrm.Page.data.process.moveNext()
。 相反,我使用作为CRM SDK脚本一部分的JQuery SDK函数updateRecord更新Opportunity。 这是代码的重要部分:
opp = {
OpportunityId: oppId,
StageId: newProcessStageId
}
SDK.JQuery.updateRecord(
oppId,
opp,
"Opportunity",
function () {
// success, refresh the form
Xrm.Page.data.refresh();
},
function (error) {
alert("An error occurred while updating the opportunity: " + error.description);
}
);
这确实可以改变阶段,但问题是在业务流程仍然将第一阶段显示为选定阶段的形式上,即使它移动了指示活动阶段是阶段2的标志,如此屏幕截图所示:
更新后,我刷新表单数据,但我没有看到任何方法设置“选定”阶段以匹配新的活动阶段。 我已经搜索过SDK文档并搜索过,但找不到任何可以执行此操作的内容。 任何帮助深表感谢!
取消加载所需的字段以更改阶段。 然后尝试进入下一阶段。
如果你执行Xrm.Utility.openEntityForm()
调用而不是data.refresh怎么办? (顺便说一下,我一直试图找到一种方法在JS中设置选定的阶段一段时间,也没有找到任何东西。我认为如果你完全重新加载表单而不仅仅是数据,但是,它应将所选内容设置为活动状态。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.