我正在Dynamics crm中建立一个新项目,我的实体名称为“投诉”,
我还有另一个实体,名称是:“ Project”,
并且我们在投诉中有一个“项目”查找字段。
“投诉”的另一个字段是“计算成本”(货币)。
我们需要使用以下公式:Calculated_Cost = Chargeable_ManHour(Decimal) * Project.ManHourCost(Currency)
但是没有用。
所以我检查了这个:Calculated_Cost = Project.ManHourCost
但它不再起作用。
所以我检查了另一个:Calculated_Cost = Project.SomeDecimalField(Decimal)
这个有效。
我认为这个问题可能与Currency DataType有关,我们是否可以为此使用Cast函数,有人可以对此解决吗?
答案 0 :(得分:0)
我敢打赌,您的测试记录没有将“货币”查询字段设置为一个值。这是一个特殊字段,通常不会显示在表单上,并且在您第一次向实体中添加“货币”类型字段时会自动添加。如果数据库中已经有记录,则这些记录将具有空的“货币”查找字段。新记录将自动将其货币查询设置为系统默认货币,但是没有货币查询集的旧记录将无法正确计算,因为它们不知道要使用哪种货币(即使您仅使用一种货币)。 / p>
解决方法是将第一个“货币类型”字段添加到实体后,返回并为所有现有记录设置“货币”查找。您可以使用多重编辑功能或工作流(将“货币”查询添加到表单后),或者如果要更新的记录很多,可以编写一个快速脚本来完成此操作。
所以我的理论是,您创建了这个实体,创建了一些测试记录,然后添加了第一个Currency字段(已计算)。您现有的测试记录现在具有空货币查询,因此您的自定义计算货币字段无法计算值。您可以轻松地通过创建新的测试记录来进行测试,并查看计算是否适用于新记录,因为货币查询将自动进行。