繁体   English   中英

使用客户端脚本在Dynamics CRM中的Opportunity上设置业务流程阶段

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM