产品配置模型的计算 [AX 2012]

已更新:June 21, 2013

应用于: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2

此主题描述产品配置模型的计算以及如何与约束一起使用计算。您可以在“基于约束的产品配置模型详细信息”窗体中定义计算,然后在表达式编辑器中构建计算表达式。有关详细信息,请参阅创建计算

计算是您在配置模型中可以使用的元素。在您配置产品时,通过能够让您使用小数来计算值,计算可以补充约束。此外,与约束相比,计算具有更大的可用运算符集。与约束相似,计算与产品配置模型中的特定组件关联,且其不能被其他组件重用或共享。有关约束的详细信息,请参阅 表达式约束和表约束

计算包含目标属性和计算表达式。

目标属性是一种在表达式中接收计算结果的属性。

在下面的表达式中,目标属性是桌布度量:

表达式:“If[(decimalAttribute1 / decimalAttribute2) < 1, True, False]

DecimalAttribute1 是桌子长度,而 decimalAttribute2 是桌布长度。如果 decimalAttribute2 大于或等于 decimalAttribute1,则表达式返回“True”值至目标属性,否则,返回“False”值。因此,如果桌布长度等于或超过桌子长度,则可接受桌布度量。

除了没有固定列表的文本,支持产品配置器的所有属性类型均可设置为目标属性。

不可以,目标的值不可以限制计算中输入属性的值。计算为单向。基于对输入属性的值更改设置目标属性的值。但是,更改目标的值不影响输入属性的值。这与约束的工作方式相反。在约束中,计算出现在两个方向。

示例

在下面的表达式中,计算的目标是电源线的长度,并且输入值为颜色。如果您选择输入值“绿色”作为电源线的颜色,则长度设置为 1.5。对于其他颜色,该长度为 1.0。

表达式:“[If Color ==“Green”, 1.5, 1.0]

在您配置物料时,如果您指定“绿色”作为颜色属性,此计算生成 1.5 作为电源线的长度。如果您指定其他颜色,该长度为 1.0。但是,由于计算为单向,在您指定长度为 1.5 时,计算不能将颜色属性的值设置为“绿色”。

计算的结果仅返回计算的整数部分。移除小数部分,且不舍入结果。例如,结果为 12.70 将显示为 12。

在为所有输入属性提供一个值时出现计算。

您可以覆盖为目标属性计算的值,除非目标属性被设置为隐藏或只读状态。

若要设置处于隐藏或只读状态的属性,请执行以下步骤:

  1. 单击 产品信息管理 >常用 >产品配置模型

  2. 选择产品配置模型。在“操作窗格”上,单击“编辑”。

  3. 在“基于约束的产品配置模型详细信息”窗体中,选择该属性用作目标属性。

  4. 在“属性”快速选项卡上,选择“隐藏只读”。

不可以。在您配置产品时您设置的值即为所使用的值。在计算中更改输入值时出现的计算不能覆盖您为特定属性提供的值。

如果您移除计算中的输入值,目标属性的值也将被移除。

在计算包含错误或在一个或多个约束存在冲突时将显示此消息。有关约束中冲突的详细信息,请参阅 表达式约束和表约束。例如,计算中的错误可以在以下情况下出现:

  • 值除以零。

  • 冲突存在于这两个元素之间:

    • 可用于属性的值与由约束限制的值。

    • 由计算产生的值。

  • 由计算返回的值超出属性的域之外。示例是计算为 0 的从 [1..10] 的一个整数。

验证中并不包括计算。您必须测试产品配置模型以查找计算中的错误。

以下步骤说明如何测试产品配置模型:

  • 单击 产品信息管理 >常用 >产品配置模型

  • 选择产品配置模型。在 运行 组中的“操作窗格”上单击 测试

我们尽力涵盖更多问题,这样 Microsoft Dynamics AX 帮助就可以帮助更多的人。

请告诉我们您想将哪些问题添加到这个主题中。请发邮件到 adocs@microsoft.com


公告: 若要查看已知问题和最近的补丁,请使用 Microsoft Dynamics Lifecycle Services (LCS) 中的 问题搜索

社区附加资源

添加
显示: