【发布时间】:2016-04-28 19:36:42
【问题描述】:
我在 Dynamics CRM 2015 Online 中工作,需要在首次根据潜在客户资格创建商机时将一些条件规则应用于商机。在某些情况下,我们需要自动将业务流程流程阶段推进到流程中的第二阶段。我已经尝试过使用 Opportunity Create 上的插件变体来设置阶段 id,但是当从潜在客户创建机会时,我在那里分配的任何值似乎都被忽略了。现在我正试图在 Opportunity Form OnLoad 事件期间触发一个 javascript 函数。这里的一个问题是我也在处理业务所需但在从潜在客户创建机会时未填写的字段,因此我无法在脚本中执行简单的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 文档并四处搜索,但找不到任何可以做到这一点的东西。非常感谢任何帮助!
【问题讨论】:
标签: javascript dynamics-crm dynamics-crm-online