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

Newer Version Available

This content describes an older version of this product. View Latest

SObject クラス

sObject データ型のメソッドが含まれます。

名前空間

System

使用方法

SObject メソッドはすべてインスタンスメソッドです。つまり、取引先または取引先責任者など、sObject インスタンスによってコールされ、sObject インスタンス上で動作���ます。次に、sObject のインスタンスメソッドを示します。

sObject についての詳細は、「sObjects の操作」を参照してください。

sObject のメソッド

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

addError(errorMsg)

カスタムエラーメッセージでトリガレコードをマークし、DML 操作が行われないようにします。

署名

public Void addError(String errorMsg)

パラメータ

errorMsg
型: String

レコードにマークを付けるエラーメッセージです。

戻り値

型: Void

使用方法

before insert トリガおよび before update トリガの Trigger.new、および before delete トリガの Trigger.old で使用すると、アプリケーションインターフェースにエラーメッセージが表示されます。

「トリガ」および「トリガの例外」を参照してください。

このメソッドは、指定されたエラーメッセージ内のすべての HTML マークアップをエスケープします。エスケープ文字は、\n<>&"\\u2028\u2029\u00a9 です。このため、HTML マークアップは表示されず、その代わりに、Salesforce ユーザインターフェースにテキストとして表示されます。

メモ

Visualforce コントローラで使用すると、生成されたメッセージが、そのページのエラーコレクションに追加されます。詳細は、『Visualforce 開発者ガイド』の「入力規則と標準コントローラ」を参照してください。

addError(errorMsg, escape)

カスタムエラーメッセージを使用してトリガレコードにマークを付け、エラーメッセージをエスケープする必要があるかどうかを指定して、DML 操作が行われないようにします。

署名

public Void addError(String errorMsg, Boolean escape)

パラメータ

errorMsg
型: String

レコードにマークを付けるエラーメッセージです。

escape
型: Boolean

カスタムエラーメッセージ内の HTML マークアップがエスケープされるか (true)、否か (false) を示します。このパラメータは Lightning Experience と Salesforce モバイルアプリケーションの両方で無視され、HTML は常にエスケープされます。escape パラメータは Salesforce Classic でのみ適用されます。

戻り値

型: Void

使用方法

エスケープ文字は、\n<>&"\\u2028\u2029\u00a9 です。このため、HTML マークアップは表示されず、その代わりに、Salesforce ユーザインターフェースにテキストとして表示されます。

escape 引数に false を指定するときは、慎重に行ってください。Salesforce ユーザインターフェースに表示されるエスケープ解除された文字列が、システムの脆弱性を示す場合があります。それらの文字列に有害なコードが含まれている可能性があるためです。エラーメッセージに HTML マークアップを含める場合は、falseescape 引数を使用してこのメソッドをコールします。入力項目値などのすべての動的コンテンツをエスケープします。それ以外の場合は、escape 引数に true を指定するか、addError(String errorMsg) をコールします。

警告

addError(exceptionError)

カスタムエラーメッセージでトリガレコードをマークし、DML 操作が行われないようにします。

署名

public Void addError(Exception exceptionError)

パラメータ

exceptionError
型: System.Exception

レコードにマークを付けるエラーメッセージを含む例外オブジェクトまたはカスタム例外オブジェクトです。

戻り値

型: Void

使用方法

before insert トリガおよび before update トリガの Trigger.new、および before delete トリガの Trigger.old で使用すると、アプリケーションインターフェースにエラーメッセージが表示されます。

「トリガ」および「トリガの例外」を参照してください。

このメソッドは、指定されたエラーメッセージ内のすべての HTML マークアップをエスケープします。エスケープ文字は、\n<>&"\\u2028\u2029\u00a9 です。このため、HTML マークアップは表示されず、その代わりに、Salesforce ユーザインターフェースにテキストとして表示されます。

メモ

Visualforce コントローラで使用すると、生成されたメッセージが、そのページのエラーコレクションに追加されます。詳細は、『Visualforce 開発者ガイド』の「入力規則と標準コントローラ」を参照してください。

addError(exceptionError, escape)

カスタム例外エラーメッセージを使用してトリガレコードにマークを付け、例外エラーメッセージをエスケープするかどうかを指定し、DML 操作が行われないようにします。

署名

public Void addError(Exception exceptionError, Boolean escape)

パラメータ

exceptionError
型: System.Exception

レコードにマークを付けるエラーメッセージを含む例外オブジェクトまたはカスタム例外オブジェクトです。

escape
型: Boolean

カスタムエラーメッセージ内の HTML マークアップがエスケープされるか (true)、否か (false) を示します。このパラメータは Lightning Experience と Salesforce モバイルアプリケーションの両方で無視され、HTML は常にエスケープされます。escape パラメータは Salesforce Classic でのみ適用されます。

戻り値

型: Void

使用方法

エスケープ文字は、\n<>&"\\u2028\u2029\u00a9 です。このため、HTML マークアップは表示されず、その代わりに、Salesforce ユーザインターフェースにテキストとして表示されます。

escape 引数に false を指定するときは、慎重に行ってください。Salesforce ユーザインターフェースに表示されるエスケープ解除された文字列が、システムの脆弱性を示す場合があります。それらの文字列に有害なコードが含まれている可能性があるためです。エラーメッセージに HTML マークアップを含める場合は、falseescape 引数を使用してこのメソッドをコールします。入力項目値などのすべての動的コンテンツをエスケープします。それ以外の場合は、escape 引数に true を指定するか、addError(Exception e) をコールします。

警告

addError(errorMsg)

Salesforce ユーザインターフェースの項目に、指定したエラーメッセージを設定し、DML 操作が行われないようにします。

署名

public Void addError(String errorMsg)

パラメータ

errorMsg
型: String

戻り値

型: Void

使用方法

注意:
  • before insert トリガおよび before update トリガの Trigger.new、および before delete トリガの Trigger.old で使用すると、アプリケーションインターフェースにエラーが表示されます。
  • Visualforce コントローラで使用すると、inputField コンポーネントが項目に結合されている場合、コンポーネントにメッセージが添付されます。詳細は、『Visualforce 開発者ガイド』の「入力規則と標準コントローラ」を参照してください。
  • 項目識別子は実際には呼び出しオブジェクトではなく、sObject が呼び出し元であるため、このメソッドは専門分野に特化されます。項目を使用して、エラーの表示に使用する必要がある項目を識別します。

「トリガ」および「トリガの例外」を参照してください。

このメソッドは、指定されたエラーメッセージ内のすべての HTML マークアップをエスケープします。エスケープ文字は、\n<>&"\\u2028\u2029\u00a9 です。このため、HTML マークアップは表示されず、その代わりに、Salesforce ユーザインターフェースにテキストとして表示されます。

メモ

addError(errorMsg, escape)

Salesforce ユーザインターフェースのトリガレコード項目に、エスケープまたはエスケープ解除できる、指定されたエラーメッセージを設定し、DML 操作が行われないようにします。

署名

public Void addError(String errorMsg, Boolean escape)

パラメータ

errorMsg
型: String

レコードにマークを付けるエラーメッセージです。

escape
型: Boolean

カスタムエラーメッセージ内の HTML マークアップがエスケープされるか (true)、否か (false) を示します。このパラメータは Lightning Experience と Salesforce モバイルアプリケーションの両方で無視され、HTML は常にエスケープされます。escape パラメータは Salesforce Classic でのみ適用されます。

戻り値

型:

使用方法

エスケープ文字は、\n<>&"\\u2028\u2029\u00a9 です。このため、HTML マークアップは表示されず、その代わりに、Salesforce ユーザインターフェースにテキストとして表示されます。

escape 引数に false を指定するときは、慎重に行ってください。Salesforce ユーザインターフェースに表示されるエスケープ解除された文字列が、システムの脆弱性を示す場合があります。それらの文字列に有害なコードが含まれている可能性があるためです。エラーメッセージに HTML マークアップを含める場合は、falseescape 引数を使用してこのメソッドをコールします。入力項目値などのすべての動的コンテンツをエスケープします。それ以外の場合は、escape 引数に true を指定するか、field.addError(String errorMsg) をコールします。

警告

addError(fieldName, errorMsg)

指定された項目名に関連付けられた sObject の項目に動的にエラーを追加します。

署名

public void addError(String fieldName, String errorMsg)

パラメータ

fieldName
型: String
sObject の項目名。
errorMsg
型: String
追加するエラーメッセージ。エラーメッセージ文字列内の HTML 特殊文字は常にエスケープされます。

戻り値

型: void

使用方法

項目名が空の文字列または null の場合、エラーは sObject に関連付けられ、特定の項目には関連付けられません。

addError(fieldToken, errorMsg)

指定された項目に関連付けられた sObject インスタンスに動的にエラーを追加します。

署名

public void addError(Schema.SObjectField fieldToken, String errorMsg

パラメータ

fieldToken
型: Schema.SObjectField
sObject インスタンスの項目。
errorMsg
型: String
追加するエラーメッセージ。エラーメッセージ文字列内の HTML 特殊文字は常にエスケープされます。

戻り値

型: void

使用方法

このメソッドを使用して、標準オブジェクトまたはカスタムオブジェクトの指定された項目トークンにエラーを追加します。fieldToken が null の場合、エラーは sObject に関連付けられ、特定の項目には関連付けられません。

addError(fieldName, errorMsg, escape)

指定された項目名に関連付けられた sObject の項目に動的にエラーを追加します。

署名

public void addError(String fieldName, String errorMsg, Boolean escape)

パラメータ

fieldName
型: String
sObject の項目名。
errorMsg
型: String
追加するエラーメッセージ。
escape
型: Boolean

カスタムエラーメッセージ内の HTML マークアップがエスケープされるか (true)、否か (false) を示します。このパラメータは Lightning Experience と Salesforce モバイルアプリケーションの両方で無視され、HTML は常にエスケープされます。escape パラメータは Salesforce Classic でのみ適用されます。

戻り値

型: void

使用方法

項目名が空の文字列または null の場合、エラーは sObject に関連付けられ、特定の項目には関連付けられません。

エスケープ文字は、\n<>&"\\u2028\u2029\u00a9 です。このため、HTML マークアップは表示されず、その代わりに、Salesforce ユーザインターフェースにテキストとして表示されます。

  • escape パラメータは Lightning Experience と Salesforce モバイルアプリケーションでは無効化できず、無視されます。
  • escape 引数に false を指定するときは、慎重に行ってください。Salesforce ユーザインターフェースに表示されるエスケープ解除された文字列が、システムの脆弱性を示す場合があります。それらの文字列に有害なコードが含まれている可能性があるためです。エラーメッセージに HTML マークアップを含める場合は、falseescape 引数を使用してこのメソッドをコールします。入力項目値などのすべての動的コンテンツをエスケープします。それ以外の場合は、escape 引数に true を指定するか、addError(String fieldName, String errorMsg) をコールします。

警告

addError(fieldToken, errorMsg, escape)

指定された項目に関連付けられた sObject インスタンスに動的にエラーを追加します。

署名

public void addError(Schema.SObjectField fieldToken, String errorMsg, Boolean escape)

パラメータ

fieldToken
型: Schema.SObjectField
sObject インスタンスの項目。
errorMsg
型: String
追加するエラーメッセージ。
escape
型: Boolean

カスタムエラーメッセージ内の HTML マークアップがエスケープされるか (true)、否か (false) を示します。このパラメータは Lightning Experience と Salesforce モバイルアプリケーションの両方で無視され、HTML は常にエスケープされます。escape パラメータは Salesforce Classic でのみ適用されます。

戻り値

型: void

使用方法

このメソッドを使用して、標準オブジェクトまたはカスタムオブジェクトの指定された項目トークンにエラーを追加します。fieldToken が null の場合、エラーは sObject に関連付けられ、特定の項目には関連付けられません。

エスケープ文字は、\n<>&"\\u2028\u2029\u00a9 です。このため、HTML マークアップは表示されず、その代わりに、Salesforce ユーザインターフェースにテキストとして表示されます。

  • escape パラメータは Lightning Experience と Salesforce モバイルアプリケーションでは無効化できず、無視されます。
  • escape 引数に false を指定するときは、慎重に行ってください。Salesforce ユーザインターフェースに表示されるエスケープ解除された文字列が、システムの脆弱性を示す場合があります。それらの文字列に有害なコードが含まれている可能性があるためです。エラーメッセージに HTML マークアップを含める場合は、falseescape 引数を使用してこのメソッドをコールします。入力項目値などのすべての動的コンテンツをエスケープします。それ以外の場合は、escape 引数に true を指定するか、addError(Schema.SObjectField fieldToken, String errorMsg) をコールします。

警告

clear()

すべての項目値をクリアします。

署名

public Void clear()

戻り値

型: Void

clone(preserveId, isDeepClone, preserveReadonlyTimestamps, preserveAutonumber)

SObject レコードのコピーを作成します。

署名

public SObject clone(Boolean preserveId, Boolean isDeepClone, Boolean preserveReadonlyTimestamps, Boolean preserveAutonumber)

パラメータ

preserveId
型: Boolean
(省略可能) 元のオブジェクトの ID を重複で保持するか削除するかを指定します。true に設定すると、ID は重複する ID にコピーされます。デフォルトは false であるため、ID はクリアされます。
isDeepClone
型: Boolean
(省略可能) メソッドで SObject 項目の完全コピーを作成するか参照のみを作成するかを決定します。
  • true に設定すると、メソッドは SObject の完全コピーを作成します。リレーション項目など、SObject のすべての項目はメモリ内に複製されます。その結果、コピーした SObject の項目に変更を行っても、元の SObject は影響されません。
  • false に設定すると、メソッドは SObject 項目の浅いコピーを作成します。コピーされたすべてのリレーション項目は元の SObject を使用します。その結果、コピーされた SObject でリレーション項目を変更すると、元の SObject の対応する項目も変更され、元の SObject で変更するとコピーされた SObject も変更されます。デフォルトは、false です。
preserveReadonlyTimestamps
型: Boolean
(省略可能) 参照のみのタイムスタンプ項目を重複で保持するか削除するかを指定します。true に設定すると、参照のみの項目 CreatedByIdCreatedDateLastModifiedById、および LastModifiedDate は重複項目にコピーされます。デフォルトは false であるため、値はクリアされます。
preserveAutonumber
型: Boolean
(省略可能) 元のオブジェクトの自動採番項目を複製で保持するか削除するかを指定します。true に設定すると、自動採番項目はコピーされたオブジェクトにコピーされます。デフォルトは false であるため、自動採番項目はクリアされます。

戻り値

型: SObject (同じデータ型)

使用方法

Salesforce API バージョン 22.0 以前を使用して保存された Apex の場合、preserveId 引数のデフォルト値は true のため、ID は保持されます。

メモ

get(fieldName)

AccountNumber など、fieldName で指定された項目の値を返します。

署名

public Object get(String fieldName)

パラメータ

fieldName
型: String

戻り値

型: Object

使用方法

詳細は、「動的 SOQL」を参照してください。

get(field)

項目トークン Schema.sObjectField (Schema.Account.AccountNumber など) で指定された項目の値を返します。

署名

public Object get(Schema.sObjectField field)

パラメータ

field
型: Schema.SObjectField

戻り値

型: Object

使用方法

詳細は、「動的 SOQL」を参照してください。

項目トークンは、個人取引先では使用できません。Schema.Account.fieldname にアクセスすると、例外エラーが発生します。代わりに、項目名を文字列として指定します。

メモ

getCloneSourceId()

オブジェクトのコピー元であるエンティティの ID を返します。このメソッドは、Salesforce ユーザインターフェースを使用してコピーされたオブジェクトに使用できます。preserveId パラメータを使用しない場合、または preserveId 値に false を使用する場合は、System.SObject.clone(preserveId, isDeepClone, preserveReadonlyTimestamps, preserveAutonumber) メソッドを使用して作成されたオブジェクトにも使用できます。

署名

public Id getCloneSourceId()

戻り値

型: Id

使用方法

A を B にコピーし、B を C にコピーし、C を D にコピーすると、B と C と D のすべてがコピー元である A を参照します。

getErrors()

sObject インスタンスの Database.Error オブジェクトのリストを返します。sObject にエラーがない場合、空のリストが返されます。

署名

public List<Database.Error> getErrors()

戻り値

型: List<Database.Error>

getOptions()

SObject の database.DMLOptions オブジェクトを返します。

署名

public Database.DMLOptions getOptions()

戻り値

型: Database.DMLOptions

getPopulatedFieldsAsMap()

入力された項目名とそれに対応する値の対応付けを返します。対応付けには、SObject インスタンスについてメモリ内で入力された項目のみが含まれます。

署名

public Map<String,Object> getPopulatedFieldsAsMap()

戻り値

型: Map<String,Object>

項目名とそれに対応する値の対応付け。

使用方法

返される対応付けには、SObject インスタンスについてメモリ内に入力された項目のみが含まれるため、それらの項目の反復処理が容易になります。項目は、次の場合にメモリ内に入力されます。
  • 項目が SOQL ステートメントで照会された。
  • getPopulatedFieldsAsMap() メソッドへのコールの前に項目が明示的に設定された。
クエリまたは設定された関連オブジェクトの項目も返される対応付けに含まれます。

次の例では、SOQL クエリの後に getPopulatedFieldsAsMap() メソッドで返された対応付けを反復処理します。

次の例では、SObject の項目が明示的に設定された後に getPopulatedFieldsAsMap() メソッドで返された対応付けを反復処理します。

次の例は、関連オブジェクトに getPopulatedFieldsAsMap() メソッドを使用する方法を示します。

バージョン管理動作の変更

API バージョン 39.0 以降の場合、getPopulatedFieldsAsMap は、SObject に設定されたすべての値を返します。これは、レコードのクエリ後に値が設定された場合も当てはまります。この動作は、SObject を生成したクラスのバージョンではなく、このメソッドをコールする Apex クラスのバージョンによって決まります。API バージョン 20.0 で SObject を照会した後、API バージョン 40.0 でクラスのこのメソッドをコールすると、一連の項目がすべて取得されます。

getSObject(fieldName)

指定された項目の値を返します。このメソッドは主に、外部 ID の値にアクセスするために動的 DML と共に使用します。

署名

public SObject getSObject(String fieldName)

パラメータ

fieldName
型: String

戻り値

型: SObject

getSObject(fieldName)

項目トークン Schema.fieldName (Schema.MyObj.MyExternalId など) で指定された項目の値を返します。このメソッドは主に、外部 ID の値にアクセスするために動的 DML と共に使用します。

署名

public SObject getSObject(Schema.SObjectField fieldName)

パラメータ

fieldName
型: Schema.SObjectField

戻り値

型: SObject

getSObjects(fieldName)

指定された項目の値を返します。このメソッドは主に、子リレーションなど、関連オブジェクトの値にアクセスするために動的 DML と共に使用します。

署名

public SObject[] getSObjects(String fieldName)

パラメータ

fieldName
型: String

戻り値

型: SObject[]

使用方法

詳細は、「動的 DML」を参照してください。

getSObjects(fieldName)

項目トークン Schema.fieldName (Schema.Account.Contact など) で指定された項目の値を返します。このメソッドは主に、子リレーションなど、関連オブジェクトの値にアクセスするために動的 DML と共に使用します。

署名

public SObject[] getSObjects(Schema.SObjectType fieldName)

パラメータ

fieldName
型: Schema.SObjectType

戻り値

型: SObject[]

getSObjectType()

この SObject のトークンを返します。このメソッドは Describe Information で使用されます。

署名

public Schema.SObjectType getSObjectType()

戻り値

型: Schema.SObjectType

使用方法

詳細は、apex_dynamic_describe_objects_understanding を参照してください。

getQuickActionName()

この SObject に関連付けられたクイックアクションの名前を取得します。多くの場合、トリガで使用されます。

署名

public String getQuickActionName()

戻り値

型: String

hasErrors()

sObject インスタンスに関連付けられたエラーがある場合、true を返します。エラーメッセージは、SObject.addError()、入力規則、その他の方法で sObject に関連付けることができます。

署名

public Boolean hasErrors()

戻り値

型: Boolean

isClone()

エンティティが何かからコピーされた場合に、そのエンティティが保存されていなくても、true を返します。

署名

public Boolean isClone()

戻り値

型: Boolean

isSet(fieldName)

クエリ対象の sObject 項目に関する情報を返します。sObject 項目が直接割り当てか SOQL クエリへの追加によって入力される場合、true を返します。sObject 項目が設定されていない場合、false を返します。無効な項目が指定されている場合、SObjectException が発生します。

署名

public Void isSet(String fieldName)

パラメータ

fieldName
型: String

戻り値

型: Boolean

使用方法

isSet メソッドは、項目に特定のユーザが組織権限またはその他の特殊なアクセス権によってアクセス可能であるかどうかを確認しません。

isSet(field)

クエリ対象の sObject 項目に関する情報を返します。sObject 項目が直接割り当てか SOQL クエリへの追加によって入力される場合、true を返します。sObject 項目が設定されていない場合、false を返します。無効な項目が指定されている場合、SObjectException が発生します。

署名

public Void isSet(Schema.SObjectField field)

パラメータ

field
型:SObjectField クラス

戻り値

型: Boolean

使用方法

isSet メソッドは、項目に特定のユーザが組織権限またはその他の特殊なアクセス権によってアクセス可能であるかどうかを確認しません。

put(fieldName, value)

指定された項目の値を設定し、項目の以前の値を返します。

署名

public Object put(String fieldName, Object value)

パラメータ

fieldName
型: String
value
型: Object

戻り値

型: Object

put(fieldName, value)

項目トークン Schema.sObjectField (Schema.Account.AccountNumber など) で指定された項目の値を設定し、項目の以前の値を返します。

署名

public Object put(Schema.SObjectField fieldName, Object value)

パラメータ

fieldName
型: Schema.SObjectField
value
型: Object

戻り値

型: Object

項目トークンは、個人取引先では使用できません。Schema.Account.fieldname にアクセスすると、例外エラーが発生します。代わりに、項目名を文字列として指定します。

メモ

putSObject(fieldName, value)

指定された項目の値を設定します。このメソッドは主に、外部 ID の値に設定するために動的 DML で使用します。メソッドは項目の以前の値を返します。

署名

public SObject putSObject(String fieldName, SObject value)

パラメータ

fieldName
型: String
value
型: SObject

戻り値

型: SObject

putSObject(fieldName, value)

トークン Schema.SObjectType で指定される項目の値を設定します。このメソッドは主に、外部 ID の値に設定するために動的 DML で使用します。メソッドは項目の以前の値を返します。

署名

public SObject putSObject(Schema.SObjectType fieldName, SObject value)

パラメータ

fieldName
型: Schema.SObjectType
value
型: SObject

戻り値

型: SObject

recalculateFormulas()

SObject のすべての数式項目を再計算し、更新された項目値を設定します。数式ロジックに対する変更をテストするたびにオブジェクトを挿入または更新する代わりに、このメソッドをコールして新しい項目値を確認します。必要に応じてロジックにさらなる変更を行います。

署名

public Void recalculateFormulas()

戻り値

型: Void

使用方法

このメソッドは、クロスオブジェクト数式を再計算しません。クロスオブジェクト数式項目と非クロスオブジェクト数式項目の両方があるオブジェクトでこのメソッドをコールすると、非クロスオブジェクト数式項目のみが再計算されます。

recalculateFormulas コールは、SOQL クエリの制限に含まれます。「実行ガバナと制限」を参照してください。

setOptions(DMLOptions)

SObject の DMLOptions オブジェクトを設定します。

署名

public Void setOptions(database.DMLOptions DMLOptions)

パラメータ

DMLOptions
型: Database.DMLOptions

戻り値

型: Void