Picklist (連動選択リストを含む)
バージョン
この型は、API バージョン 37.0 以前でのみ使用します。カスタムオブジェクトのカスタム項目の選択リストは、API バージョン 12.0 以降で使用できます。取引先などの標準オブジェクトのカスタム項目または標準項目の選択リストは、API バージョン 16.0 以降で使用できます。
API バージョン 38.0 以降では、Picklist は CustomField 型の ValueSet に置き換えられました。
宣言的なメタデータファイルのサフィックスおよびディレクトリの場所
選択リストの定義は、カスタムオブジェクトと選択リストの定義が関連付けられた項目に含まれます。
項目
選択リストには次の項目が含まれます。
| 項目名 | 項目の型 | 説明 |
|---|---|---|
| controllingField | string | これが連動選択リストである場合、制御項目の fullName。連動選択リストは、制御選択リストまたはチェックボックスと連動して動作し、使用可能なオプションに検索条件を適用します。制御項目で選択した値は、連動項目に使用できる値に影響します。この項目は、API バージョン 14.0 以降で使用できます。 |
| picklistValues | PicklistValue[] |
必須。選択リストの値のセットを表します。 |
| restrictedPicklist | boolean |
選択リストの値リストが制限されているかどうかを示します。制限された選択リスト値では、システム管理者のみが値を追加または変更でき、ユーザは API を使用した値の読み込みや削除ができません。デフォルトでは、この値は false です。 この項目は、API バージョン 37.0 以降で使用できます。 |
| sorted | boolean |
値を並び替えるか (true)、否か (false) を示します。デフォルトでは、この値は false です。 |
Java のサンプル
次のサンプルでは選択リストを使用します。レコードタイプおよびプロファイルを含む選択リストを使用する完全なサンプルについては、「Profile」を参照してください。
1public void setPicklistValues() {
2 // Create a picklist
3 Picklist expenseStatus = new Picklist();
4 PicklistValue unsubmitted = new PicklistValue();
5 unsubmitted.setFullName("Unsubmitted");
6 PicklistValue submitted = new PicklistValue();
7 submitted.setFullName("Submitted");
8 PicklistValue approved = new PicklistValue();
9 approved.setFullName("Approved");
10 PicklistValue rejected = new PicklistValue();
11 rejected.setFullName("Rejected");
12 expenseStatus.setPicklistValues(new PicklistValue[]
13 {unsubmitted, submitted, approved, rejected});
14
15 CustomField expenseStatusField = new CustomField();
16 expenseStatusField.setFullName(
17 "ExpenseReport__c.ExpenseStatus__c");
18 expenseStatusField.setLabel("Expense Report Status");
19 expenseStatusField.setType(FieldType.Picklist);
20 expenseStatusField.setPicklist(expenseStatus);
21 try {
22 AsyncResult[] ars =
23 metadataConnection.create(new Metadata[] {expenseStatusField});
24 } catch (ConnectionException ce) {
25 ce.printStackTrace();
26 }
27}宣言的なメタデータの定義のサンプル
次のサンプルでは、カスタムオブジェクトの連動選択リストを含む選択リストの使用例を示します。isAmerican__c チェックボックスでは manufacturer__c 選択リストに表示されるメーカーのリストを制御します。また、manufacturer__c チェックボックスでは model__c 選択リストに表示されるモデルのリストを制御します。
1<?xml version="1.0" encoding="UTF-8"?>
2<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
3 <deploymentStatus>Deployed</deploymentStatus>
4 <enableActivities>true</enableActivities>
5 <fields>
6 <fullName>isAmerican__c</fullName>
7 <defaultValue>false</defaultValue>
8 <label>American Only</label>
9 <type>Checkbox</type>
10 </fields>
11 <fields>
12 <fullName>manufacturer__c</fullName>
13 <label>Manufacturer</label>
14 <picklist>
15 <controllingField>isAmerican__c</controllingField>
16 <picklistValues>
17 <fullName>Chrysler</fullName>
18 <controllingFieldValues>checked</controllingFieldValues>
19 <default>false</default>
20 </picklistValues>
21 <picklistValues>
22 <fullName>Ford</fullName>
23 <controllingFieldValues>checked</controllingFieldValues>
24 <default>false</default>
25 </picklistValues>
26 <picklistValues>
27 <fullName>Honda</fullName>
28 <controllingFieldValues>unchecked</controllingFieldValues>
29 <default>false</default>
30 </picklistValues>
31 <picklistValues>
32 <fullName>Toyota</fullName>
33 <controllingFieldValues>unchecked</controllingFieldValues>
34 <default>false</default>
35 </picklistValues>
36 <sorted>false</sorted>
37 </picklist>
38 <type>Picklist</type>
39 </fields>
40 <fields>
41 <fullName>model__c</fullName>
42 <label>Model</label>
43 <picklist>
44 <controllingField>manufacturer__c</controllingField>
45 <picklistValues>
46 <fullName>Mustang</fullName>
47 <controllingFieldValues>Ford</controllingFieldValues>
48 <default>false</default>
49 </picklistValues>
50 <picklistValues>
51 <fullName>Taurus</fullName>
52 <controllingFieldValues>Ford</controllingFieldValues>
53 <default>false</default>
54 </picklistValues>
55 <picklistValues>
56 <fullName>PT Cruiser</fullName>
57 <controllingFieldValues>Chrysler</controllingFieldValues>
58 <default>false</default>
59 </picklistValues>
60 <picklistValues>
61 <fullName>Pacifica</fullName>
62 <controllingFieldValues>Chrysler</controllingFieldValues>
63 <default>false</default>
64 </picklistValues>
65 <picklistValues>
66 <fullName>Accord</fullName>
67 <controllingFieldValues>Honda</controllingFieldValues>
68 <default>false</default>
69 </picklistValues>
70 <picklistValues>
71 <fullName>Civic</fullName>
72 <controllingFieldValues>Honda</controllingFieldValues>
73 <default>false</default>
74 </picklistValues>
75 <picklistValues>
76 <fullName>Prius</fullName>
77 <controllingFieldValues>Toyota</controllingFieldValues>
78 <default>false</default>
79 </picklistValues>
80 <picklistValues>
81 <fullName>Camry</fullName>
82 <controllingFieldValues>Toyota</controllingFieldValues>
83 <default>false</default>
84 </picklistValues>
85 <sorted>false</sorted>
86 </picklist>
87 <type>Picklist</type>
88 </fields>
89....
90</CustomObject>次のサンプルでは、商談の標準項目の Stage の使用例を示します。
1<?xml version="1.0" encoding="UTF-8"?>
2<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
3 <fields>
4 <fullName>StageName</fullName>
5 <picklist>
6 <picklistValues>
7 <fullName>Prospecting</fullName>
8 <default>false</default>
9 <forecastCategory>Pipeline</forecastCategory>
10 <probability>10</probability>
11 </picklistValues>
12 <picklistValues>
13 <fullName>Qualification</fullName>
14 <default>false</default>
15 <forecastCategory>Pipeline</forecastCategory>
16 <probability>10</probability>
17 </picklistValues>
18 <picklistValues>
19 <fullName>Needs Analysis</fullName>
20 <default>false</default>
21 <forecastCategory>Pipeline</forecastCategory>
22 <probability>20</probability>
23 </picklistValues>
24 ...
25 </picklist>
26 </fields>
27<CustomObject>マニフェストファイル内のワイルドカードのサポート
このメタデータ型では、package.xml マニフェストファイル内のワイルドカード文字 * (アスタリスク) はサポートされません。マニフェストファイルの使用についての詳細は、「zip ファイルを使用したメタデータのリリースと取得」を参照してください。