PriceAdjustmentSchedule
サポートされているコール
create()、delete()、describeLayout()、describeSObjects()、getDeleted()、getUpdated()、query()、retrieve()、search()、undelete()、update()、upsert()
特別なアクセスルール
このオブジェクトを使用できるのは、B2B Commerce ライセンスが有効である場合、または Subscription Management が有効である場合です。
項目
| 項目 | 詳細 |
|---|---|
| AdjustmentMethod |
|
| Description |
|
| IsActive |
|
| LastReferencedDate |
|
| LastViewedDate |
|
| Name |
|
| OwnerId |
|
使用方法
PriceAdjustmentSchedule を作成するときは、PriceAdjustmentSchedule に PriceAdjustmentTier を関連付けます。PriceAdjustmentSchedule は、少なくとも 1 つの PriceAdjustmentTier が追加されるまで無効です。PriceAdjustmentSchedule は、関連するすべての PriceAdjustmentTier から構成されますが、PriceAdjustmentTier の上限は 25 個です。
PriceAdjustmentSchedule を使用するには、PriceAdjustmentSchedule を PriceBookEntry に関連付けます。
- 1 つの PriceBookEntry は、最大 5 つの PriceAdjustmentSchedule に関連付けることができますが、1 つの PriceBookEntry に関連付けることができる PriceAdjustmentSchedule は 1 つのみです。
- PriceAdjustmentSchedule を有効化または無効化すると、それに関連付けられている PriceBookEntry も有効化または無効化されます。
- PriceBookEntry に対する調整が適用されるのは、関連付けられた PriceAdjustmentSchedule が有効である場合のみです。
- PriceAdjustmentSchedule が PriceBookEntry に関連付けられた後にマルチ通貨が有効になった場合、currencyIsoCode 項目は変更できません。
- PriceAdjustmentSchedule を PricebookEntry に関連付けると、連結オブジェクト PricebookEntryAdjustment が作成されます。
PriceAdjustmentTier オブジェクトと ScheduleType および AdjustmentMethod 項目を変更できるのは、PriceAdjustmentSchedule が無効であるときのみです。
コードサンプル
1public void priceAdjustmentScheduleSample()
2 {try
3 /* This code snippet will do the following:
4 *
5 * 1. Create a new Price Adjustment Schedule
6 * 2. Create and attach a Price Adjustment Tier to the Schedule
7 * 3. Activate the Schedule
8 * 4. Create a new PricebookEntry Adjustment. This will associate the Schedule to a Pricebook Entry. */
9
10 //Create a Price Adjustment Schedule
11 PriceAdjustmentSchedule pas = new PriceAdjustmentSchedule();
12 pas.Name = 'Sample PAS';
13 pas.Description = 'Sample Price Adjustment Schedule';
14 pas.AdjustmentMethod = 'Range';
15 insert pas;
16
17 //Attach a valid Price Adjustment Tier
18 PriceAdjustmentTier pat = new PriceAdjustmentTier();
19 pat.PriceAdjustmentScheduleId = pas.Id;
20 pat.LowerBound = 1.0;
21 pat.UpperBound = 100.0;
22 pat.TierType = 'AdjustmentPercentage';
23 pat.TierValue = 5.0;
24 insert pat;
25
26 //Activate the Schedule
27 pas.IsActive = true;
28 upsert pas;
29
30 //Create a new PricebookEntry Adjustment
31 PricebookEntryAdjustment pbea = new PricebookEntryAdjustment();
32 pbea.PricebookEntryId = '01uRM0000007Hb5YAE';
33 pbea.PriceAdjustmentScheduleId = pas.Id;
34 insert pbea;
35
36 } catch (ConnectionException ce) {
37 ce.printStackTrace();
38 }
39}