如何在Dynamics CRM的计算字段中使用查找字段中的货币字段

时间:2019-02-04 11:53:39

标签: dynamics-crm microsoft-dynamics dynamics-365

我正在Dynamics crm中建立一个新项目,我的实体名称为“投诉”, 我还有另一个实体,名称是:“ Project”, 并且我们在投诉中有一个“项目”查找字段。 “投诉”的另一个字段是“计算成本”(货币)。 我们需要使用以下公式:Calculated_Cost = Chargeable_ManHour(Decimal) * Project.ManHourCost(Currency)

但是没有用。

所以我检查了这个:Calculated_Cost = Project.ManHourCost

但它不再起作用。

所以我检查了另一个:Calculated_Cost = Project.SomeDecimalField(Decimal)

这个有效。

我认为这个问题可能与Currency DataType有关,我们是否可以为此使用Cast函数,有人可以对此解决吗?

1 个答案:

答案 0 :(得分:0)

我敢打赌,您的测试记录没有将“货币”查询字段设置为一个值。这是一个特殊字段,通常不会显示在表单上,​​并且在您第一次向实体中添加“货币”类型字段时会自动添加。如果数据库中已经有记录,则这些记录将具有空的“货币”查找字段。新记录将自动将其货币查询设置为系统默认货币,但是没有货币查询集的旧记录将无法正确计算,因为它们不知道要使用哪种货币(即使您仅使用一种货币)。 / p>

解决方法是将第一个“货币类型”字段添加到实体后,返回并为所有现有记录设置“货币”查找。您可以使用多重编辑功能或工作流(将“货币”查询添加到表单后),或者如果要更新的记录很多,可以编写一个快速脚本来完成此操作。

所以我的理论是,您创建了这个实体,创建了一些测试记录,然后添加了第一个Currency字段(已计算)。您现有的测试记录现在具有空货币查询,因此您的自定义计算货币字段无法计算值。您可以轻松地通过创建新的测试记录来进行测试,并查看计算是否适用于新记录,因为货币查询将自动进行。