关于产品配置模型

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

创建产品配置模型是为了表示一般产品结构。设置产品配置模型时,您可以创建具有唯一物料清单 (BOM) 和唯一工艺路线的不同产品变型。产品配置模型基于约束并使用 Microsoft Solver Foundation。您可以配置销售订单、销售报价单、采购订单和生产订单上的物料。

下表描述表基于约束的条款和概念。

Microsoft Solver Foundation

产品配置器使用 Solver Foundation 来求解表达式约束和条件。Solver Foundation 用于查找一个或多个有效的解决方案,以及清除对于产品配置模型无效的值。有关详细信息,请参阅 MSDN 网站上的 Microsoft Solver Foundation

组件

组件是产品配置模型的主要构造块。组件显示在“基于约束的产品配置模型详细信息”窗体的树结构中。组件可以包含以下元素:

  • 属性

  • 约束

  • 子组件

  • 用户要求

  • 物料清单行

  • 工艺路线工序

属性

属性描述产品配置模型的所有功能。您可以使用属性指定配置不同产品时可选择的功能。属性用于约束和条件中。创建属性并将其添加到产品配置模型时,将引用相关属性类型。

可为属性设置默认值。配置产品配置模型时,配置用户界面 (UI) 中使用了默认值。

您可以将属性指定为必需、只读或隐藏。

  • 必需 – 配置产品时必须为属性设置一个值。

  • 只读 – 属性值在配置会话期间显示,但是无法更改。

  • 隐藏–属性值包括在约束和条件中,但是配置会话期间不显示。

您还可以为属性指定条件。如果满足该条件,则必须为必需属性输入一个值。条件是必须要满足的表达式,以便将属性、物料清单行和工艺路线工序包括在产品配置模型中。条件中引用的任何属性都是必需的。我们建议您在“属性”选项卡上将属性选为必需。这样可以更轻松地标识必需属性。

属性值是重用配置的重要环节。系统使用属性值以确定是否存在匹配用户在配置会话期间所做选择的配置。有关详细信息,请参阅关于重用配置

属性类型

属性类型为用于产品配置模型的属性指定一组数据类型。

使用了以下属性类型:

  • 整数 – 具有范围的整数。

  • 十进制

  • 文本 – 具有固定列表的文本。

  • Boolean

如果属性类型为 Boolean整数文本,则设置了产品配置模型时该组值可用。

备注

Solver Foundation 仅识别以下属性类型:布尔值、具有固定列表的文本和具有范围的整数。因此,只有这些属性类型可用于表达式约束和条件。 您还可以使用“属性类型”窗体来定义产品和目录的属性类型。

约束

约束描述产品配置模型的限制。约束用于确保设置产品配置模型时仅选择了有效值。

约束可以是表达式约束,也可以是表约束:

  • 表达式约束仅用于与它们相关联的组件。组件的表达式约束可以引用组件的子组件的属性。Solver Foundation 用于求解约束,并且编写约束时您必须使用 Solver Foundation 语法。有关详细信息,请参阅 Microsoft Solver Foundation

  • 表约束可以是用户定义的,也可以是系统定义的。

    用户定义的表约束是一种可用于描述属性类型所定义的一组属性值组合的矩阵。例如,如果生成电视,则用户定义的表约束矩阵可具有电视尺寸和类型的列。

示例

等离子类型的电视仅有 42 或 50 这两种尺寸。投影类型的电视仅有 50 或 60 这两种尺寸。下表显示了将显示在“编辑表约束”窗体中的“允许的组合”选项卡上的信息。

电视类型 电视尺寸
等离子 42
等离子 50
投影 50
投影 60

系统定义的表约束表示 Microsoft Dynamics AX 表中属性与字段之间的映射。系统定义的表约束将属性与字段动态链接。通过使用链接。产品配置模型反映 Microsoft Dynamics AX 表中的数据。

子组件

子组件反映产品配置模型的树状结构。您可以使用子组件构造产品配置模型的结构。子组件将引用现有组件。因此,使用子组件将促进在多个产品配置模型中重复使用组件。在子组件的“物料清单行详细信息”窗体中,您可以为子组件选择不同的值。或者,您可以选择设置产品配置模型时为其选择了值的属性。

若要将产品包括为组件或子组件,您必须在创建产品时在“创建产品”窗体中指定以下内容:

  • 在“产品类型”字段中,选择“物料”。

  • 在“产品子类型”字段中,选择“基础产品”。

  • 在“配置技术”字段中,选择“基于约束的配置”。

您可以查看已发布产品是否可用作“已发布产品详细信息”窗体的“常规”选项卡上的组件或子组件。如果 配置技术 字段中选择了 基于约束的配置,则产品可用作组件或子组件。

您可以隐藏子组件,以便配置会话期间不会向用户显示。与子组件关联的属性、子组件和用户要求也是隐藏的。

用户要求

用户要求表示用户要求与特定组件和属性之间的抽象。您不能将用户要求映射到物料。例如,客户要购买家庭影院系统。销售代表可以询问客户计划将系统安装所在的房间的大小,以便确定需要多少瓦特。在此示例中,房间大小可以是用户要求,它可以帮助确定特定组件的合适属性值。

您可以隐藏用户要求,以便配置会话期间不会向用户显示。与用户要求关联的属性、子组件和用户要求也是隐藏的。您可以编写条件。以便控制用户要求是否可以处于隐藏状态。您必须使用优化建模语言 (OML) 语法编写条件。

物料清单行

物料清单行表示产品配置模型中组件的各个物料。在“物料清单行详细信息”窗体中,所有物料都可供选择。可以将条件添加到物料清单行,以便根据设置产品配置模型时的用户选择,为不同产品变型选择的物料清单行可以有所不同。条件是必须要满足的表达式,以便将属性、物料清单行和工艺路线工序包括在产品配置模型中。在“物料清单行详细信息”窗体中,您可以选择不同的值。或者,您可以映射到设置产品配置模型时为其选择了值的属性。

工艺路线工序

在“工艺路线工序详细信息”窗体中,您可以选择不同的值。或者,您可以映射到设置产品配置模型时为其选择了值的属性。已编写条件,如表达式约束。条件是必须要满足的表达式,以便将属性、物料清单行和工艺路线工序包括在产品配置模型中。

请参阅

基于约束的产品配置模型详细信息 (窗体)