4

我有一个名为产品的实体。有一个字段称为项目价格。

现在我已经创建了 100 个产品。我想对所有产品的“项目价格”字段求和(数学运算)并将其显示在另一个名为“项目总价格”的机会字段的实体中。

除此之外,如果我创建 101 个产品,并且机会中的“项目价格”、“项目总价格”字段自动更新自身。

所以因为我已经对表单的字段求和了。例如,有字段 A 和字段 B,将字段 A 乘以 3.14 并在字段 B 中显示结果。

这是代码。

function SumField() {  
   var price = Xrm.Page.getAttribute("new_price");   
   var total_price = Xrm.Page.getAttribute("new_total_price");

   if(price.getValue() != null) {
      var newValue = price.getValue() * 3.14;
      total_price.setValue(newValue);

      // Make sure the changes are saved back to the server - in CRM 4.0, this was     crmForm.new_fieldname.ForceSubmit = true;
      Xrm.Page.getAttribute("new_total_price").setSubmitMode("always"); 
   }
}
4

2 回答 2

1

您有一些可能性,最佳选择取决于您的技术专长:

  • 工作流程 - 当字段 new_total_price 更改并更新相关机会时启动工作流程。为此,您不需要任何已知的编程语言
  • 插件 - 在更新您的产品实体时,您可以更新相关机会。您需要了解 C# 或 VB .NET
  • Javascript - 一种解决方案是加载机会,您检查是否与产品相关(例如,您使用 FetchXML 或 OData)填充了 new_total_price,使用该信息可以更新您的机会。

还有更多选择,但您有一些选择。

于 2013-03-15T12:03:11.350 回答
1

JavaScript 在这种情况下不起作用,至少它不是最优化的解决方案。

与其使用 JavaScript 处理它,不如编写一个插件,该插件会在产品实体的更改时触发并更新所需的机会实体记录。(我正在考虑与一个机会相关的产品很少,即1:N关系)

如果您希望一种产品的更改将更新所有记录中的值,机会创建另一个实体,说“配置”,它将保存该值并使用 JavaScript 在机会表单上显示它(原因是:如果一个产品记录创建更新所有记录影响 CRM 绩效的机会)

于 2013-03-15T11:19:08.213 回答