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

カスタムメタデータ型 (CustomObject)

カスタムメタデータ型に関連付けられたメタデータを表します。

詳細は、『Custom Metadata Types Implementation Guide』を参照してください。

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

カスタムメタデータ型は、カスタムオブジェクトとして定義され、オブジェクトフォルダに保存されます。カスタムメタデータ型のサフィックスには __mdt を使用します (カスタムオブジェクトの場合の __c の代わりに)。カスタムメタデータ型の項目名のサフィックスにはその他のカスタム項目と同様に __c を使用します。カスタムメタデータ型の項目名は、属するカスタムメタデータ型の名前を使用してドット修飾する必要があります。

カスタムメタデータ型の名前は、それらの名前空間内で一意である必要があります。すべてのカスタムメタデータ型は、CustomMetadata 名前空間に属しており、必要に応じて 2 番目の名前空間に属することができます。組織では、各自の名前空間や他の組織の名前空間が含まれるカスタムメタデータ型を使用できます。

バージョン

カスタムメタデータ型のコンポーネントは、API バージョン 31.0 以降で使用できます。

特別なアクセスルール

カスタムメタデータ型を作成するには、「Apex 開発」権限が必要です。メタデータが登録者によって制御され、コードの名前空間内から参照可能な場合、Apex コードでカスタムメタデータレコードの作成、参照、更新ができます (ただし削除は不可)。パートナー API またはエンタープライズ API では、カスタムメタデータに対して DML 操作を実行できません。管理カスタムメタデータ型をインストールするユーザは、新しいカスタム項目を追加できません。パッケージ化されていないメタデータでは、開発者によって制御されたアクセスと登録者によって制御されたアクセスの動作は同じです。登録者によって制御されたアクセスのように動作します。詳細は、「Trust, but Verify: Apex Metadata API and Security (信頼と検証: Apex メタデータ API およびセキュリティ)」を参照してください。

項目

カスタムメタデータ型には、次の CustomObject 項目を含めることができます。

カスタムメタデータ型の項目をインデックス付けができる一意の項目にするには、項目を Unique および ExternalId としてマークします。

項目名 データ型 説明
description string カスタムメタデータ型の説明。この項目には、最大で 1,000 文字を含めることができます。
fields CustomField[] カスタムメタデータ型の 1 つ以上のカスタム項目を表します。
gender Gender オブジェクトを表す名詞の性別を示します。この項目は、語の性別に基づいて、異なる処理が必要となる言語に使用されます。
Protected boolean カスタムメタデータ型が管理パッケージ内でリリースされた場合、そのアクセスは特定の方法で制限されます。
  • カスタムメタデータレコードと同じ管理パッケージ内にあるコードは、レコードを参照できます。
  • カスタムメタデータ型と同じ管理パッケージ内にあるコードは、その型に属するレコードを参照できます。
  • その型または保護レコードを含まない管理パッケージ内のコードは、保護レコードを参照できません。
  • 登録者が作成したコードおよび未管理パッケージ内にあるコードは、保護レコードを参照できません。
  • 開発者は、パッケージアップグレードまたはメタデータ Apex クラス (Apex コードがレコードまたはそれらのタイプと同じ名前空間にある場合) を使用して保護レコードを変更できます。登録者は、保護レコードの参照および変更を行うことはできません。保護レコードの開発者名をリリース後に変更することはできません。
  • 登録者は保護された型のレコードを作成できません。
これらのアクセスルールにより非表示になるレコードは、REST、SOAP、SOQL、[設定] でも使用できません。
label string Salesforce の [設定] ユーザインターフェース全体でオブジェクトを表す表示ラベル。カスタムメタデータ型は、Force.com ホームページおよびパッケージ化のユーザインターフェースの、最���使用したオブジェクトのリストにのみ表示されます。
pluralLabel string 表示ラベル値の複数形。
startsWith StartsWith (string 型の列挙) 名詞が母音、子音、または特殊文字で開始されているかを示します。この項目は、語の最初の文字に基づいて、異なる処理が必要となる言語に使用されます。
visibility SetupObjectVisibility (string 型の列挙) この項目が存在する場合、このコンポーネントはカスタムオブジェクトではなくカスタム設定またはカスタムメタデータ型です。この項目はカスタム設定またはカスタムメタデータ型の表示設定を返します。有効な値は次のとおりです。
  • Public — カスタム設定またはカスタムメタデータ型がパッケージ化されている場合、すべての登録組織がアクセスできます。
  • Protected — カスタム設定またはカスタムメタデータ型が管理パッケージに含まれる場合、開発組織のみがアクセスでき、登録組織はアクセスできません。

デフォルト値は、Public です。

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

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

1<?xml version="1.0" encoding="UTF-8"?>
2<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
3   <fields>
4      <fullName>AlphaSort__c</fullName>
5      <defaultValue>false</defaultValue>
6      <externalId>false</externalId>
7      <label>Sorted Alphabetically</label>
8      <type>Checkbox</type>
9   </fields>
10   <label>Reusable Picklist</label>
11   <pluralLabel>Reusable Picklist</pluralLabel>
12   <visibility>Public</visibility>
13</CustomObject>
次の package.xml ファイルからの抜粋は、ドット表記および __mdt サフィックスの使用方法を示しています。picklist1234 などの名前空間を使用している場合、ReusablePicklistOption__mdt の完全名は picklist1234​__ReusablePicklistOption__mdt になります。
1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3...
4   <types>
5      <members>PicklistTest__c.PicklistTestField__c</members>
6      <members>ReusablePicklistOption__mdt.Picklist__c</members>
7      <members>ReusablePicklistOption__mdt.SortOrder__c</members>
8      <members>PicklistUsage__mdt.Field__c</members>
9      <members>PicklistUsage__mdt.Picklist__c</members>
10      <members>PicklistUsage__mdt.SObjectType__c</members>
11      <members>ReusablePicklist__mdt.AlphaSort__c</members>
12      <name>CustomField</name>
13   </types>
14...
15   <types>
16      <members>PicklistTest__c</members>
17      <members>ReusablePicklistOption__mdt</members>
18      <members>PicklistUsage__mdt</members>
19      <members>ReusablePicklist__mdt</members>
20      <name>CustomObject</name>
21   </types>
22...
23   <version>42.0</version>
24</Package>