Product2
このオブジェクトには、数量と収益によるスケジュールのみに使用される項目がいくつかあります (収益など)。スケジュールは、商品機能およびスケジュール機能が有効化されている組織でのみ使用できます。これらの機能が有効化されていない場合、スケジュール項目は DescribeSObjectResult に表示されず、項目をクエリ、作成、または更新できません。
サポートされているコール
create()、delete()、describeLayout()、describeSObjects()、getDeleted()、getUpdated()、query()、retrieve()、search()、undelete()、update()、upsert()
項目
スケジュール有効化フラグ
スケジュール機能を有効化すると、組織では数量スケジュール、収益スケジュールのいずれか、またはその両方の有効化を指定できます。また、API を使用して CanUseQuantitySchedule フラグおよび CanUseRevenueSchedule フラグを介して、数量スケジュールおよび収益スケジュールを商品レベルで制御できます。いずれかのフラグの true の値により、商品と OpportunityLineItem に該当するタイプのスケジュールが指定されます。これらのフラグは、Product2 レコードを作成または更新するときに設定できます。
デフォルトのスケジュールを示す項目
このオブジェクトの残りのスケジュールに関する項目では、デフォルトのスケジュールを定義します。商品の OpportunityLineItem の作成時、デフォルトのスケジュール値を使用して OpportunityLineItemSchedule が作成されます。
各項目では、次の値を使用できます (すべての項目が nillable です)。
| 項目 | 有効な値 |
|---|---|
| RevenueScheduleType | Divide、Repeat |
| RevenueInstallmentPeriod | Daily、Weekly、Monthly、Quarterly、Yearly |
| NumberOfRevenueInstallments | 1 ~ 150 の整数。 |
| QuantityScheduleType | Divide、Repeat |
| QuantityInstallmentPeriod | Daily、Weekly、Monthly、Quarterly、Yearly |
| NumberOfQuantityInstallments | 1 ~ 150 の整数。 |
作成または更新時にスケジュールに関する項目を設定する場合、API では、項目間で整合性チェックを適用します。整合性の要件は次のとおりです。
- スケジュールタイプが nil である場合、期間と回数は nil でなければなりません。
- スケジュールタイプが何らかの値に設定されている場合、期間と回数は nil 以外でなければなりません。
これらの整合性チェックで失敗した create または update は、エラーが発生して拒否されます。
デフォルトのスケジュールを示すこれらの項目は、CanUseQuantitySchedule および CanUseRevenueSchedule と同様、制限付き選択リスト項目であり、組織でスケジュール機能が有効化されている場合にのみ使用できます。
使用方法
このオブジェクトを使用して、組織のデフォルトの商品情報を定義します。このオブジェクトは、PricebookEntry オブジェクトを介した Pricebook2 オブジェクトとの参照によって関連付けられています。価格表エントリと同じ商品を、別の価格表に記載することができます。実際、異なる価格または通貨を使用する同一の価格表に、同じ商品が 2 回以上 (個別の PricebookEntry レコードとして) 記載されます。同じ価格表内の商品に対し、指定された通貨の価格は 1 つだけ指定できます。カスタム価格表で使用するには、すべての標準価格を標準価格表に価格表エントリとして追加する必要があります。
- クエリ
- 標準価格表またはカスタム価格表の作成
- 更新
- 削除
- レコードの作成または更新時の IsActive 項目の変更
このオブジェクトは、商品機能を有効化している組織にのみ定義されます。組織に商品機能がない場合、このオブジェクトは describeGlobal() コールに表示されないため、このオブジェクトを記述またはクエリできません。
API を使用して商品を削除しようとしているが、その商品を使用する組織がある場合、削除は失敗します。回避策としては、ユーザインターフェースで商品を削除します。これにより、商品をアーカイブできるようになります。