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

SObjectType クラス

Schema.sObjectType オブジェクトは、getReferenceTo メソッドを使用して Field Describe Result から、または getSObjectType メソッドを使用して sObject Describe Result から返されます。

名前空間

Schema

使用方法

1Schema.DescribeFieldResult F = Account.Industry.getDescribe();
2List<Schema.sObjectType> P = F.getReferenceTo();

sObjectType メソッド

sObjectType のメソッドは次のとおりです。すべてインスタンスメソッドです。

getDescribe()

この項目の Describe sObject Result を返します。

署名

public Schema.DescribeSObjectResult getDescribe()

newSObject()

このデータ型の新しい sObject を構築します。

署名

public sObject newSObject()

戻り値

型: sObject

「動的 DML」の例を参照してください。

newSObject(id)

指定された ID でこの型の新しい sObject を作成します。

署名

public sObject newSObject(ID id)

パラメータ

id
型: ID

戻り値

型: sObject

使用方法

引数として、データベースにある既存のレコードの ID を渡します。

新しい sObject を作成すると、返された sObject のすべての項目は null に設定されています。更新可能な項目を目的の値に設定し、データベースのレコードを更新できます。新しい値を設定した項目のみが更新され、それ以外のシステム項目ではないすべての項目は保持されます。

newSObject(recordTypeId, loadDefaults)

このデータ型の新しい sObject を構築します。必要に応じて、指定するレコードタイプ ID の sObject や、デフォルトのカスタム項目値を持つ sObject を作成できます。

署名

public sObject newSObject(ID recordTypeId, Boolean loadDefaults)

パラメータ

recordTypeId
型: ID
作成する sObject のレコードタイプ ID を指定します。この sObject にレコードタイプが存在しない場合、null を使用します。この sObject にレコードタイプが存在し、null を指定した場合、デフォルトのレコードタイプが使用されます。
loadDefaults
型: Boolean
定義済みのデフォルト値をカスタム項目に入力するか (true)、否か (false) を指定します。

戻り値

型: sObject

使用方法

  • デフォルト値が存在しない必須項目には、新しい sObject を挿入する前に値を指定してください。値が指定されていない場合、挿入でエラーが発生します。たとえば、Account Name 項目や主従関係項目がこれに該当します。
  • 選択リストと複数選択リストではレコードタイプごとに特定のデフォルト値を使用できるため、このメソッドは指定されたレコードタイプに対応するデフォルト値を入力します。
  • 項目に定義済みのデフォルト値が存在せず、loadDefaults 引数が true の場合、このメソッドは項目値が null の sObject を作成します。
  • loadDefaults 引数が false の場合、このメソッドは項目値が null の sObject を作成します。
  • このメソッドは、新しい sObject の参照のみのカスタム項目にデフォルト値を入力します。その後、これらの参照のみの項目を含む新しい sObject を挿入できますが、これらの項目は挿入後も編集できません。
  • カスタム項目が一意としてマークされていてデフォルト値を指定した場合、複数の新しい sObject を挿入すると項目値が重複するため、実行時例外が発生します。

デフォルト項目値についての詳細は、Salesforce オンラインヘルプの「デフォルト項目値について」を参照してください。

例: デフォルト値での新しい sObject の作成

このサンプルでは、newSObject メソッドを使用して、カスタム項目にデフォルト値 (ある場合) を入力した取引先を作成します。また、指定するレコードタイプで 2 つ目の取引先を作成します。新しい取引先を挿入する前に、両方の取引先に対して、デフォルト値のない必須項目である Name 項目を設定します。

1// Create an account with predefined default values
2Account acct = (Account)Account.sObjectType.newSObject(null, true);
3// Provide a value for Name
4acct.Name = 'Acme';
5// Insert new account
6insert acct;
7
8// This is for record type RT1 of Account
9ID rtId = [SELECT Id FROM RecordType WHERE sObjectType='Account' AND Name='RT1'].Id;
10Account acct2 = (Account)Account.sObjectType.newSObject(rtId, true);
11// Provide a value for Name
12acct2.Name = 'Acme2';
13// Insert new account
14insert acct2;