製品の公開、改訂、戻し、廃止、アクティブ化(製品のライフサイクル)

 

公開日: 2016年11月

対象: Dynamics CRM 2015

既定では、製品レコードはその作成時にはドラフト状態で、販売代理店は使用できません。 レコードは、公開されて、状態がアクティブになったら販売代理店に使用できるようになります。 製品ファミリに関連付けられていない製品、つまり親製品ファミリ レコードを持たない製品の場合は、Organization.CreateProductsWithoutParentInActiveState 属性を1 (true) に設定することで、直接アクティブ 状態の製品を作成することもできます。 既定では、この属性は、Microsoft Dynamics 365 の新しいインストールでは 0 (false) に設定されており、以前のバージョンの Dynamics 365 からアップグレードの場合1 (True)に設定されています。これにより、以前のバージョンのDynamics 365(製品レコードがアクティブの状態で作成されている)で動作するアプリケーションとの互換性が保たれます。

Microsoft Dynamics 365またはOutlook 用 Microsoft Dynamics CRMのシステムの設定領域の営業 タブを使用して、製品をアクティブ状態で作成するかどうかを指定できます。詳細:TechNet: 製品カタログの構成の管理

製品レコードを改訂、戻し、廃止、アクティブ化して、業務要件に合わせて製品カタログを管理することができます。 次の図は、Dynamics 365で製品レコードのさまざま処理を実行する際の製品の状態の遷移を示しています。

製品のライフサイクルと状態の遷移

アクティブ化*: アクティブ化の処理は、特定の製品レコードの種類のみに適用されます。詳細:製品またはキット レコードをアクティブ化する

このトピックの内容

製品ファミリ、製品、バンドルの公開

製品ファミリ、製品、バンドルの改訂

製品ファミリ、製品、バンドルを戻す

製品ファミリ、製品、バンドルの廃止

製品またはキット レコードをアクティブ化する

製品ファミリ、製品、バンドルの公開

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またはOutlook 用 Microsoft Dynamics CRMのシステムの設定領域の営業 タブを使用して、製品ファミリに関連付けられていない製品をアクティブ状態で作成するかどうかを指定できます。詳細:製品カタログの情報の管理

製品ファミリ、製品、バンドルの改訂

SetStateRequestメッセージを使用して、個別の製品ファミリ、製品、またはバンドル レコードを改訂します。

  • 製品ファミリ レコードに対して呼出される場合、製品ファミリと子レコードが改訂されます。

  • 製品またはバンドル レコードに対して呼出される場合、レコードのみが改訂されます。

ターゲット レコードの状態がアクティブ から 改訂中に変化します。

製品プロパティ(属性)が更新されると、ターゲット レコードは変更を反映するために公開される必要があります。 公開されると、ターゲット レコードの状態が改訂中 から アクティブに変化します。

注意

製品を改訂し、プロパティを変更すると、Dynamics 365 では、新しいバージョンの製品が作成され、既存製品から新しいバージョンに製品詳細がコピーされます。 製品の新バージョンには、価格表、製品関係およびプロパティなどの詳細が含まれます。 製品の古いバージョンで作成された営業案件は、製品の古いバージョンを引き続き参照することができます。 製品が改訂されたか、廃止された後に作成された営業案件は、現在(最新)の製品バージョンを参照します。

Outlook 用 Microsoft Dynamics CRM または Microsoft Dynamics 365 のみを使用して製品プロパティを追加または変更できます。これはプログラムによってはできません。 製品プロパティの作成および管理に関する詳細については、「ヘルプとトレーニング: プロパティを使用して製品を説明する」を参照してください。

製品ファミリ、製品、バンドルを戻す

RevertProductRequest メッセージを使用して、製品ファミリ、製品、またはバンドル レコードを最後の アクティブ状態に戻します。 最後に公開された(アクティブ状態)時以降にレコードに加えられたすべての製品プロパティ(属性)変更は失われます。

  • 製品ファミリ レコードに対して呼び出された場合、製品ファミリおよび子レコードを最後のアクティブ状態に戻し、最後に公開されるた時以降にレコードの製品プロパティに加えられたすべての変更は失われます。

  • 製品またはバンドル レコードに対して呼び出された場合、個々の製品またはバンドル レコードを最後のアクティブ状態に戻し、最後に公開されるた時以降にレコードの製品プロパティに加えられたすべての変更は失われます。

ターゲット レコードの状態が改訂中 から アクティブに変化します。

次のコード サンプルは、その製品レコードを戻す方法を示しています。

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

製品ファミリ、製品、バンドルの廃止

SetStateRequestメッセージを使用して、製品ファミリ、製品、またはバンドル レコード全体を廃止します。

  • 製品ファミリ レコードに対して呼出される場合、製品ファミリ階層全体が廃止されます。

  • 製品またはバンドル レコードに対して呼出される場合、個々のレコードのみが廃止されます。

ターゲット レコードの状態は廃止に変更されます。

注意

公開された(アクティブ)バンドルの一部である製品を廃止することはできません。 廃止された製品をバンドルに追加したり、廃止されたバンドルに製品を追加したりできません。

製品またはキット レコードをアクティブ化する

SetStateRequest メッセージを使用して、レコードの次の種類のみをアクティブ化します。

  • 親レコードがない廃止された製品レコード。

  • 廃止されたキット レコード。

ターゲット レコードの状態が廃止 から アクティブに変化します。

注意

廃止された製品ファミリ、または廃止されたバンドル レコードは追加できません。

関連項目

製品の価格設定方法
製品ファミリ、製品、およびバンドルを作成および管理する
製品カタログ エンティティ

© 2017 Microsoft. All rights reserved. 著作権