describeCompactLayouts()
このコールを使用し、指定されたオブジェクト種別のコンパクトレイアウトに関する情報を取得します。
構文
1DescribeCompactLayoutsResult compactLayoutResult = connection.describeCompactLayouts(string sObjectType, ID[] recordTypeId);使用方法
このコールを使用し、指定されたオブジェクト種別のコンパクトレイアウトに関する情報を取得します。このコールは、レコードタイプの対応付けを含む、指定されたコンパクトレイアウトに関するメタデータを返します。コンパクトレイアウトについての詳細は、Salesforce ヘルプを参照してください。
サンプルコード — Java
このサンプルでは、取引先 sObject のコンパクトレイアウトを取得する方法を示します。記述する sObject 種別の名前を使用して、describeCompactLayouts() をコールします。コンパクトレイアウトの取得後、各コンパクトレイアウトで検出された画像、項目、およびアクションボタンが出力されます。次に、オブジェクトのシステムデフォルトコンパクトレイアウト、コンパクトレイアウトへのレコードタイプの対応付け情報の順に出力されます。
1public void testDescribeCompactLayoutsSample() {
2 try {
3 String objectToDescribe = "Account";
4 DescribeCompactLayoutsResult compactLayoutResult = connection
5 .describeCompactLayouts(objectToDescribe, null);
6 System.out.println("There are " + compactLayoutResult.getCompactLayouts().length
7 + " compact layouts for the " + objectToDescribe + " object.");
8
9 // Get all the compact layouts for the sObject
10 for (int i = 0; i < compactLayoutResult.getCompactLayouts().length; i++) {
11 DescribeCompactLayout cLayout = compactLayoutResult.getCompactLayouts()[i];
12 System.out.println(" There is a compact layout with name: " + cLayout.getName());
13 DescribeLayoutItem[] fieldItems = cLayout.getFieldItems();
14 System.out.println(" There are " + fieldItems.length + " fields in this compact layout.");
15
16 // Write field items
17 for (int j = 0; j < fieldItems.length; j++) {
18 System.out.println(j + " This compact layout has a field with name: " + fieldItems[j].getLabel());
19 }
20
21 DescribeLayoutItem[] imageItems = cLayout.getImageItems();
22 System.out.println(" There are " + imageItems.length + " image fields in this compact layout.");
23
24 // Write the image items
25 for (int j = 0; j < imageItems.length; j++) {
26 System.out.println(j + " This compact layout has an image field with name: " + imageItems[j].getLabel());
27 }
28
29 DescribeLayoutButton[] actions = cLayout.getActions();
30 System.out.println(" There are " + actions.length + " buttons in this compact layout.");
31
32 // Write the action buttons
33 for (int j = 0; j < actions.length; j++) {
34 System.out.println(j + " This compact layout has a button with name: " + actions[j].getLabel());
35 }
36
37 System.out.println("This object's default compact layout is: "
38 + compactLayoutResult.getDefaultCompactLayoutId());
39
40 RecordTypeCompactLayoutMapping[] mappings = compactLayoutResult.getRecordTypeCompactLayoutMappings();
41 System.out.println("There are " + mappings.length + " record type to compact layout mapping for the "
42 + objectToDescribe + " object.");
43 for (int j = 0; j < mappings.length; j++) {
44 System.out.println(j + " Record type " + mappings[j].getRecordTypeId()
45 + " is mapped to compact layout " + mappings[j].getCompactLayoutId());
46 }
47 }
48
49 } catch (ConnectionException ce) {
50 ce.printStackTrace();
51 }
52
53}引数
| 名前 | 型 | 説明 |
|---|---|---|
| sObjectType | string | 指定された値は、組織で有効なオブジェクトである必要があります。オブジェクトが個人取引先である場合は Account を指定し、個人取引先責任者である場合は Contact を指定します。 |
| recordTypeId | ID[] | 任意で指定できるパラメーター。返されるコンパクトレイアウトデータを、指定されたレコードタイプに制限します。 |