この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Pricebook2

組織が販売する商品のリストを記載した価格表を表します。

価格表は Pricebook2 オブジェクトで表されます。API バージョン 8.0 以降、Pricebook オブジェクトはサポートされません。Pricebook を指定する要求は拒否され、レスポンスには Pricebook オブジェクトについては記述されません。

メモ

サポートされているコール

create()delete()describeLayout()describeSObjects()getDeleted()getUpdated()query()retrieve()search()undelete()update()upsert()

項目

項目 詳細
Description
string
プロパティ
Create、Filter、Group、Nillable、Sort、Update
説明
価格表のテキストによる説明。
IsActive
boolean
プロパティ
Create、Defaulted on create、Filter、Group、Sort、Update
説明
価格表が有効か (true)、否か (false) を示します。無効な価格表は、ユーザインターフェースの多くの領域で非表示となります。必要に応じて、この項目の値を変更できます。表示ラベルは [有効] です。
IsArchived
boolean
プロパティ
Defaulted on create、Filter、Group、Sort
説明

価格表がアーカイブされているか (true)、否か (false) を示します。この項目は参照のみです。

IsDeleted
boolean
プロパティ
Defaulted on create、Filter
説明
価格表がごみ箱に移動したか (true)、否か (false) を示します。表示ラベルは [削除] です。
IsStandard
boolean
プロパティ
Defaulted on create、Filter、Group、Sort
説明
価格表が組織の標準価格表であるか (true)、否か (false) を示します。組織ごとに 1 つの標準価格表があります。その他の価格表はすべてカスタム価格表となります。
LastReferencedDate
dateTime
プロパティ
Filter、Nillable、Sort
説明
現在のユーザがこのレコードに関連するレコードを最後に表示したときのタイムスタンプ。
LastViewedDate
dateTime
プロパティ
Filter、Nillable、Sort
説明
現在のユーザがこのレコードを最後に表示したときのタイムスタンプ。この値が null の場合、このレコードは表示ではなく参照 (LastReferencedDate) された可能性があります。
Name
string
プロパティ
Create、Filter、Group、idLookup、Sort、Update
説明
必須。このオブジェクトの名前。標準価格表のこの項目は、参照のみです。表示ラベルは [価格表名] です。

使用方法

価格表は、組織で販売している商品のリストです。

  • 各組織には、組織が販売する各商品または各サービスの標準リスト価格または一般的なリスト価格を定義する標準価格表が 1 つずつあります。
  • 組織は、割引、さまざまなチャネルやマーケット、または特定の取引先や商談を対象とした価格表など、特別な目的で使用するカスタム価格表を複数所有することができます。クライアントアプリケーションは、カスタム価格表を作成、削除、および更新できますが、標準価格表では更新のみを実行できます。
  • 一部の組織では、標準価格表だけで十分です。その他の価格表を設定する必要がある場合は、標準価格表を参照してカスタム価格表のリスト価格を設定することができます。

このオブジェクトを使用して、組織で設定されている標準価格表およびカスタム価格表について照会できます。このオブジェクトの一般的な使用方法として、クライアントアプリケーションで有効な Pricebook2 オブジェクト ID を取得し、そのオブジェクト ID を、API を介して PricebookEntry レコードを設定する場合に使用することができます。

クライアントアプリケーションは、PricebookEntry オブジェクトで次のタスクを実行できます。

  • クエリ
  • 標準価格表またはカスタム価格表の作成。
  • 更新
  • 削除
  • レコードの作成または更新時の IsActive 項目の変更

PriceBook2、Product2、および PricebookEntry の関係

API では次のようになります。

  • 価格表は Pricebook2 レコードによって表されます (バージョン 8.0 以降、Pricebook オブジェクトは使用できません)。
  • 商品は Product2 レコードによって表されます (バージョン 8.0 以降、Product オブジェクトは使用できません)。
  • 各価格表には、価格表が関連付けられている商品を指定する、0 またはそれ以上のエントリが指定されています (PricebookEntry レコードで表します)。価格表エントリは、特定の通貨で商品を販売する価格を定義します。

これらのオブジェクトは、商品機能を有効化した組織にのみ定義されます。組織の商品機能が有効化されていない場合、Pricebook2 オブジェクトは describeGlobal() コールに表示されず、また API を介してアクセスすることはできません。

品目で価格表の PricebookEntry を参照している間に Pricebook2 を削除すると、品目に影響はありませんが、Pricebook2 はアーカイブされ、API から使用することはできなくなります。

Pricebook2 とその他のオブジェクトのリレーションを示すダイアグラムについては、Product and Schedule Objects を参照してください。

価格表の設定

API を使用した価格表の設定プロセスは、通常次のようになります。

  1. 商品データを Product2 レコードに読み込みます (追加する商品ごとに 1 つの Product2 レコードを作成します)。
  2. 各 Product2 レコードについて、Product2 レコードを標準の Pricebook2 にリンクする PricebookEntry を作成します。商品の標準価格を指定された通貨で定義してから、カスタム価格表の商品の価格を同じ通貨で定義する必要があります (マルチ通貨の使用が有効な場合)。
  3. カスタム価格表を表す Pricebook2 レコードを作成します。
  4. Pricebook2 レコードごと��、追加するすべての Product2 について PricebookEntry を作成し、必要に応じて各 PricebookEntry に一意のプロパティ (UnitPriceCurrencyIsoCode など) を指定します。

コードサンプル —Java

1public void pricebookSample() {
2  try {
3    //Create a custom pricebook
4    Pricebook2 pb = new Pricebook2();
5    pb.setName("Custom Pricebok");
6    pb.setIsActive(true);
7    SaveResult[] saveResults = connection.create(new SObject[]{pb});
8    pb.setId(saveResults[0].getId());
9
10    // Create a new product
11    Product2 product = new Product2();
12    product.setIsActive(true);
13    product.setName("Product");
14    saveResults = connection.create(new SObject[]{product});
15    product.setId(saveResults[0].getId());
16    
17    // Add product to standard pricebook
18    QueryResult result = connection.query(
19        "select Id from Pricebook2 where isStandard=true"
20    );
21    SObject[] records = result.getRecords();
22    String stdPbId = records[0].getId();
23    
24    // Create a pricebook entry for standard pricebook
25    PricebookEntry pbe = new PricebookEntry();
26    pbe.setPricebook2Id(stdPbId);
27    pbe.setProduct2Id(product.getId());
28    pbe.setIsActive(true);
29    pbe.setUnitPrice(100.0);
30    saveResults = connection.create(new SObject[]{pbe});
31    
32    // Create a pricebook entry for custom pricebook
33    pbe = new PricebookEntry();
34    pbe.setPricebook2Id(pb.getId());
35    pbe.setProduct2Id(product.getId());
36    pbe.setIsActive(true);
37    pbe.setUnitPrice(100.0);
38    saveResults = connection.create(new SObject[]{pbe});
39  } catch (ConnectionException ce) {
40    ce.printStackTrace();
41  }
42}

関連付けられたオブジェクト

このオブジェクトには次の関連するオブジェクトがあります。特に記載がない限り、これらはこのオブジェクトと同じ API バージョンで使用できます。

Pricebook2History
オブジェクトの追跡項目について履歴を利用できます。