发布、修订、还原、停用和激活产品(产品生命周期)

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

默认情况下,当您创建产品记录时,该记录处于 草稿状态,且不适用于销售代理。 仅当发布产品记录时,该记录的状态更改为可用,该记录才适用于您的销售代理。 对于未与产品系列关联的产品(即没有父产品系列记录的产品),您可以通过将 Organization.CreateProductsWithoutParentInActiveState 属性设置为 1 (true) 来直接在可用状态下创建这些产品。 默认情况下,如果全新安装 Microsoft Dynamics 365,则该属性设置为 0 (false);如果您正在升级 Dynamics 365 先前版本以确保使用 Dynamics 365 先前版本(在此版本中,可用状态下创建产品记录)的应用程序兼容性,则该属性设置为 1 (true)。

您还可以使用 Microsoft Dynamics 365 或 Microsoft Dynamics 365 for Outlook 的系统设置区域中的“销售”选项卡,以指定是否在可用状态下创建产品。详细信息:TechNet:管理产品目录配置

此外,还可以修改、还原、停用和激活您的产品记录,以按照您的业务要求维护您的产品目录。 当您在 Dynamics 365 的产品记录中执行各种操作时,下图显示产品的状态转换。

Product lifecycle and state transitions

Activate*:激活操作仅适用于某些产品类型。详细信息:激活产品或配套件记录

本主题内容

发布产品系列、产品或捆绑销售

修订产品系列、产品或捆绑销售

还原产品系列、产品或捆绑销售

停用产品系列、产品或捆绑销售

激活产品或配套件记录

发布产品系列、产品或捆绑销售

使用 SetStateRequest 消息,以发布单个产品系列、产品或捆绑销售记录。 在这种情况下,目标记录的状态从草稿更改为可用。 只有发布父产品系列记录(在可用状态下)时,才可以在产品系列记录下发布子产品或捆绑销售记录。 不能一次发布多个产品系列、产品或捆绑销售记录。

使用 PublishProductHierarchyRequest 消息来发布包含子产品和捆绑销售的产品系列层次结构。 您仅可以将此消息与产品系列记录联用。 目标产品系列记录和子产品或捆绑销售记录状态从草稿更改为可用

以下代码示例演示如何发布单个系列产品、产品或捆绑销售记录。

SetStateRequest publishRequest = new SetStateRequest
{
   EntityMoniker = new EntityReference(Product.EntityLogicalName, _productId),
   State = new OptionSetValue((int)ProductState.Active),
   Status = new OptionSetValue(1)
};            
_serviceProxy.Execute(publishRequest);

以下代码示例演示如何发布单个系列产品(包括子记录)。

PublishProductHierarchyRequest publishRequest = new PublishProductHierarchyRequest
{
   Target = new EntityReference(Product.EntityLogicalName, _productFamilyId)
};
_serviceProxy.Execute(publishRequest);

有关完整示例代码的信息,请参阅示例:创建和发布产品

重要

对于未与某个产品系列关联的产品或捆绑销售记录,必须在创建或编辑后将其单独发布,以对销售代理可用。 对于与某个产品系列关联的产品或捆绑销售记录,使用有关父产品系列记录的 PublishProductHierarchyRequest 消息,随父产品系列记录一起,一次发布多条子产品或捆绑销售记录。

此外,对于未与产品系列关联的产品,您可以通过将 Organization.CreateProductsWithoutParentInActiveState 属性设置为 1 (true) 来直接在可用状态下创建这些产品。 或者,使用 Microsoft Dynamics 365 或 Microsoft Dynamics 365 for Outlook 中的系统设置区域内的”销售“选项卡指定是否在活动状态下创建未与产品系列关联的产品。详细信息:配置产品目录信息

修订产品系列、产品或捆绑销售

使用 SetStateRequest 消息,以修订产品系列、产品或捆绑销售记录。

  • 当调用用产品系列记录时,可以修改产品系列及其子记录。

  • 当调用产品或捆绑销售记录时,仅可以修改单个记录。

目标记录的状态从可用更改为正在修订

在更新产品属性(属性)后,必须发布要反映更改的目标记录。 当发布时,目标记录的状态从正在修订更改为可用

备注

在修订产品并更改属性时,Dynamics 365 将在内部创建产品的新版本,并将现有产品的产品详细信息复制到新版本。 新产品版本具有所有详细信息,包括价目表、产品关系和属性。 使用早期版本产品创建的商机可以继续引用产品的早期版本。 修订或停用产品后创建的商机,将引用当前(更高版本)产品版本。

还原产品系列、产品或捆绑销售

使用 RevertProductRequest 消息,以还原产品系列、产品或捆绑销售记录到上次可用状态。 在上次发布后(可用状态),对记录进行的所有产品属性(属性)更改均将丢失。

  • 当调用产品系列记录时,可以将产品系列及其子系列还原为上次可用状态,上次发布后对记录的产品属性进行的所有更改均将丢失。

  • 当调用产品或捆绑销售记录时,可以将单个的产品或捆绑销售记录还原到其上次可用状态,且上次发布后对记录的产品属性进行的所有更改均将丢失。

目标记录的状态从正在修订更改为可用

以下代码示例演示如何还原产品记录。

RevertProductRequest revertReq = new RevertProductRequest
{
   Target = new EntityReference(Product.EntityLogicalName, _productId)
};
RevertProductResponse reverted = (RevertProductResponse)_serviceProxy.Execute(revertReq);

停用产品系列、产品或捆绑销售

使用 SetStateRequest 消息,停用产品系列、产品或捆绑销售记录。

  • 当调用用产品系列记录时,可以停用整个产品系列层次结构。

  • 当调用产品或捆绑销售记录时,仅可以停用单个记录。

目标记录的状态更改为停用

备注

如果产品为已发布(可用)捆绑销售的一部分,则您无法停用此产品。 而且,您也无法将停用的产品添加到捆绑销售,或无法将产品添加到停用的捆绑销售。

激活产品或配套件记录

使用 SetStateRequest 消息仅可以激活以下类型记录:

  • 没有父记录的已停用产品记录。

  • 已停用的配套件记录。

目标记录的状态从停用更改为可用

备注

您无法激活停用的产品系列或停用的捆绑销售记录。

另请参阅

产品定价方法
创建和管理产品系列、产品、捆绑销售以及产品属性
产品目录实体

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权