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

CustomMetadata

カスタムメタデータ型のレコードを表します。

Metadata メタデータ型を拡張し、その fullName 項目を継承します。

CustomMetadata は、upsertMetadata() コールではサポートされていません。createMetadata() または updateMetadata() を使用してください。

メモ

ファイルのサフィックスおよびディレクトリの場所

CustomMetadata コンポーネントのサフィックスは .md で、customMetadata フォルダに保存されます。カスタムメタデータ型とは異なり、カスタムメタデータレコードにはアンダースコア 2 個のサフィックスはありません。カスタムメタデータレコード名の先頭にカスタムメタデータ型名が追加されます。__mdt サフィックスは除外されますが、インストールされた管理パッケージのすべての型の名前空間は含まれます。

バージョン

CustomMetadata コンポーネントは、API バージョン 31.0 以降で使用できます。

特別なアクセスルール

カスタムメタデータレコードを作成するには、「アプリケーションのカスタマイズ」権限が必要です。

項目

項目名 データ型 説明
description string カスタムメタデータレコードの説明。この項目には、最大で 1,000 文字を含めることができます。
label string Salesforce の [設定] ユーザインターフェース全体でオブジェクトを表す表示ラベル。現在、カスタムメタデータレコードはパッケージ化のユーザインターフェースでのみ表示されます。
values CustomMetadataValue[] カスタムメタデータレコードのカスタム項目の 1 つ以上の値を表します。

CustomMetadataValue

カスタムメタデータレコードのカスタム項目の値を表します。

項目名 データ型 説明
field string 必須。カスタムメタデータ型のカスタム項目の非オブジェクト修飾名。この値は、カスタムメタデータレコードのカスタムメタデータ型の項目名に対応します。名前空間 (管理パッケージから取得された型の場合) と __c サフィックスが含まれます。カスタムメタデータ型の名前は必要ありません。たとえば、picklist1234__AlphaSort__c です。
value anyType 必須。CustomMetadata オブジェクトの項目の値。この値は null にできます。

詳細は、使用方法を参照してください。

宣言的なメタデータの定義のサンプル

CustomMetadata コンポーネントの例を次に示します。この例では、サンプルアプリケーション TravelApp で Planets 選択リストをリリースし、その並び替え順を指定して、選択リスト項目を追加します。

Picklists R Us の名前空間は picklist1234 で、TravelApp は Planets 選択���ストを定義するために、customMetadata フォルダに picklist1234__ReusablePicklist.Planets.md という名前のファイルとこれらのコンテンツをリリースするとします。xsi:type 属性では、AlphaSort__c チェックボックス項目の値の型を指定します。
1<?xml version="1.0" encoding="UTF-8"?>
2<CustomMetadata xmlns="http://soap.sforce.com/2006/04/metadata" 
3                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
4                   xmlns:xsd="http://www.w3.org/2001/XMLSchema">
5    <description>All the planets in the solar system. Does not 
6                 include asteroids.</description>
7    <label>Planets</label>
8    <values>
9        <field>picklist1234__AlphaSort__c</field>
10        <value xsi:type="xsd:boolean">false</value>
11    </values>
12</CustomMetadata>

Picklists R Us は、オブジェクトフォルダに ReusablePicklist__mdt.object という名前のファイルとこれらのコンテンツをリリースして、Reusable Picklist Option カスタムメタデータ型を作成します。

1<?xml version="1.0" encoding="UTF-8"?>
2<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
3    <fields>
4        <fullName>Picklist__c</fullName>
5        <externalId>false</externalId>
6        <label>Picklist</label>
7        <length>40</length>
8        <required>true</required>
9        <type>Text</type>
10        <unique>false</unique>
11    </fields>
12    <fields>
13        <fullName>SortOrder__c</fullName>
14        <externalId>false</externalId>
15        <label>Non-Alphabetical Sort Order</label>
16        <precision>3</precision>
17        <scale>0</scale>
18        <required>false</required>
19        <type>Number</type>
20        <unique>false</unique>
21    </fields>
22    <label>Reusable Picklist Option</label>
23    <pluralLabel>Reusable Picklist Options</pluralLabel>
24</CustomObject>
TravelApp は Mars 選択リスト項目を定義するために、picklist1234__ReusablePicklistOption.Mars.md という名前のファイルとこれらのコンテンツをリリースします。このコンポーネントファイルでは、ReusablePicklistOption__mdt カスタム項目に適用される型を指定します。
1<?xml version="1.0" encoding="UTF-8"?>
2<CustomMetadata xmlns="http://soap.sforce.com/2006/04/metadata" 
3  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
4  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
5    <label>Mars</label>
6    <values>
7        <field>picklist1234__Picklist__c</field>
8        <value xsi:type="xsd:string">Planets</value>
9    </values>
10    <values>
11        <field>picklist1234__SortOrder__c</field>
12        <value xsi:type="xsd:int">4</value>
13    </values>
14</CustomMetadata>
TravelApp は Motel6 選択リスト項目を定義するために、picklist1234__ReusablePicklistOption.Motel6.md という名前のファイルとこれらのコンテンツをリリースします。
1<?xml version="1.0" encoding="UTF-8"?>
2<CustomMetadata xmlns="http://soap.sforce.com/2006/04/metadata" 
3  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
4  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
5    <label>Motel 6</label>
6    <values>
7        <field>picklist1234__Picklist__c</field>
8        <value xsi:type="xsd:string">Hotels</value>
9    </values>
10</CustomMetadata>
SortOrder__c 項目は必須ではないため、このファイルでは SortOrder__c の値は必要ありません。または、SortOrder__c の以前の値を確実にクリアするために、ファイルで xsi:nil を使用して明示的に値を指定しておくこともできます。
1<?xml version="1.0" encoding="UTF-8"?>
2<CustomMetadata xmlns="http://soap.sforce.com/2006/04/metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3    <label>Motel 6</label>
4    <values>
5        <field>picklist1234__Picklist__c</field>
6        <value xsi:type="xsd:string">Hotels</value>
7    </values>
8    <values>
9        <field>picklist1234__SortOrder__c</field>
10        <value xsi:nil="true" />
11    </values>
12</CustomMetadata>

次の package.xml ファイルからの抜粋は、カスタムメタデータレコード名へのカスタムメタデータ型とそれらの名前空間の追加を示しています。Picklists R Us の名前空間は picklist1234 だとします。

1<?xml version="1.0" encoding="UTF-8"?>
2<package xmlns="http://soap.sforce.com/2006/04/metadata">
3
4   <types>
5      <members>picklist1234__ReusablePicklist.Hotels</members>
6      <members>picklist1234__ReusablePicklist.Planets</members>
7      <members>picklist1234__ReusablePicklistOption.Bellagio</members>
8      <members>picklist1234__ReusablePicklistOption.Motel6</members>
9      <members>picklist1234__ReusablePicklistOption.Mercury</members>
10      <members>picklist1234__ReusablePicklistOption.Venus</members>
11      <members>picklist1234__ReusablePicklistOption.Earth</members>
12      <members>picklist1234__PicklistUsage.BookedHotel</members>
13      <members>
14         picklist1234__PicklistUsage.DestinationPlanetPL
15      </members>
16      <members>picklist1234__PicklistUsage.PlanetVisitedPl</members>
17      <name>CustomMetadata</name>
18   </types>
19
20</package>
次の package.xml ファイルからの抜粋に示すように、TravelApp, Inc の package.xml ファイルで、ワイルドカードを使用してカスタムメタデータをインストールします。特定のレコードをリリースまたは取得する場合を除き、package.xml ファイルですべてのカスタムメタデータレコードをリストするよりもワイルドカードを使用した方が簡単です。
1<types>
2   <members>*</​members>
3   <name>Custom​Metadata</name>
4</types>

管理パッケージからカスタムメタデータを取得している場合、package.xml ファイルのドットの後 (ファイル名の 2 つのドットの間) の名前は、管理パッケージの名前空間で修飾されます。たとえば、TravelApp で名前空間 travelApp1234 を使用すると、Galactic Tours には TravelApp の package.xml ファイルの最初のメンバー要素が次のように表示されます。

1<members>picklist1234__ReusablePicklist.travelApp1234__Hotels</members>

使用方法

CustomMetadataValue サブタイプで value 項目を指定する場合、データ型定義に基づいている適切な型のオブジェクトを指定します。CustomMetadataValue の宣言的なメタデータの定義で、値要素の xsi:type 属性を使用します。たとえば、boolean 値 <value xsi:type="xsd:boolean">true</value> を指定する場合、有効な xsi:type 属性は次のようになります。
カスタムメタデータ値 カスタム項目定義
xsi:type="xsd:boolean" チェックボックス
xsi:type="xsd:date" 日付
xsi:type="xsd:dateTime" 日付/時間
xsi:type="xsd:string" テキスト
xsi:type="xsd:string" 電話
xsi:type="xsd:string" TextArea
xsi:type="xsd:string" URL
xsi:type="xsd:string" メール
xsi:type="xsd:int" 数値/パーセント (スケールは 0)
xsi:type="xsd:double" 数値/パーセント (スケールは 0 ではない)

xsi:type 属性は省略することもできます。たとえば、<value>true</value> です。

この属性はすべての CustomMetadataValue に指定する必要がありますが、xsi:nil 属性が true に設定された要素を使用して、項目の値を明示的に null に設定できます。たとえば、<value xsi:nil="true"/> です。

null 項目値を使用することと、特定の項目の CustomMetadataValue を省略することはまったく異なります。CustomMetadataValue を省略すると、項目の値は変化しません。新しくリリースされたカスタムメタデータレコードの場合、項目の値は null になります。更新されたカスタムメタデータレコードの場合、以前の値のままになります。

宣言的なメタデータの定義の場合に xsi:type を指定すると、CustomMetadataValue オブジェクトを取得するときに、返されるオブジェクトの value 項目に正しい型の値が格納されます。