SObject クラス
名前空間
使用方法
SObject メソッドはすべてインスタンスメソッドです。つまり、取引先または取引先責任者など、sObject インスタンスによってコールされ、sObject インスタンス上で動作します。次に、sObject のインスタンスメソッドを示します。
sObject についての詳細は、「sObjects の操作」を参照してください。
sObject のメソッド
sObject のメソッドは次のとおりです。すべてインスタンスメソッドです。
addError(errorMsg)
署名
public Void addError(String errorMsg)
パラメータ
- errorMsg
- 型: String
-
レコードにマークを付けるエラーメッセージです。
戻り値
型: Void
使用方法
before insert トリガおよび before update トリガの Trigger.new、および before delete トリガの Trigger.old で使用すると、アプリケーションインターフェースにエラーメッセージが表示されます。
Visualforce コントローラで使用すると、生成されたメッセージが、そのページのエラーコレクションに追加されます。詳細は、『Visualforce 開発者ガイド』の「入力規則と標準コントローラ」を参照してください。
例
addError(errorMsg, escape)
署名
public Void addError(String errorMsg, Boolean escape)
パラメータ
戻り値
型: Void
使用方法
エスケープ文字は、\n、<、>、&、"、\、\u2028、\u2029、\u00a9 です。この結果は HTML マークアップで表示されません。代わりに、Salesforce ユーザインターフェースにテキストとして表示されます。
例
addError(exceptionError)
署名
public Void addError(Exception exceptionError)
パラメータ
- exceptionError
- 型: System.Exception
-
レコードにマークを付けるエラーメッセージを含む例外オブジェクトまたはカスタム例外オブジェクトです。
戻り値
型: Void
使用方法
before insert トリガおよび before update トリガの Trigger.new、および before delete トリガの Trigger.old で使用すると、アプリケーションインターフェースにエラーメッセージが表示されます。
Visualforce コントローラで使用すると、生成されたメッセージが、そのページのエラーコレクションに追加されます。詳細は、『Visualforce 開発者ガイド』の「入力規則と標準コントローラ」を参照してください。
例
addError(exceptionError, escape)
署名
public Void addError(Exception exceptionError, Boolean escape)
パラメータ
- exceptionError
- 型: System.Exception
-
レコードにマークを付けるエラーメッセージを含む例外オブジェクトまたはカスタム例外オブジェクトです。
- escape
- 型: Boolean
-
カスタムエラーメッセージ内の HTML マークアップがエスケープされるか (true)、否か (false) を示します。このパラメータは Lightning Experience と Salesforce アプリケーションでは無視され、HTML は常にエスケープされます。escape パラメータは Salesforce Classic でのみ適用されます。
戻り値
型: Void
使用方法
例
addError(errorMsg)
署名
public Void addError(String errorMsg)
パラメータ
- errorMsg
- 型: String
戻り値
型: Void
使用方法
- before insert トリガおよび before update トリガの Trigger.new、および before delete トリガの Trigger.old で使用すると、アプリケーションインターフェースにエラーが表示されます。
- Visualforce コントローラで使用すると、inputField コンポーネントが項目に結合されている場合、コンポーネントにメッセージが添付されます。詳細は、『Visualforce 開発者ガイド』の「入力規則と標準コントローラ」を参照してください。
- 項目識別子は実際には呼び出しオブジェクトではなく、sObject が呼び出し元であるため、このメソッドは専門分野に特化されます。項目を使用して、エラーの表示に使用する必要がある項目を識別します。
例
addError(errorMsg, escape)
署名
public Void addError(String errorMsg, Boolean escape)
パラメータ
戻り値
型:
使用方法
例
clone(preserveId, isDeepClone, preserveReadonlyTimestamps, preserveAutonumber)
署名
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 に設定すると、参照のみの項目 CreatedById、CreatedDate、LastModifiedById、および LastModifiedDate は重複項目にコピーされます。デフォルトは false であるため、値はクリアされます。
- preserveAutonumber
- 型: Boolean
- (省略可能) 元のオブジェクトの自動採番項目を複製で保持するか削除するかを指定します。true に設定すると、自動採番項目はコピーされたオブジェクトにコピーされます。デフォルトは false であるため、自動採番項目はクリアされます。
戻り値
型: SObject (同じデータ型)
使用方法
例
get(field)
署名
public Object get(Schema.sObjectField field)
パラメータ
- field
- 型: Schema.SObjectField
戻り値
型: Object
例
getCloneSourceId()
署名
public Id getCloneSourceId()
戻り値
型: Id
使用方法
A を B にコピーし、B を C にコピーし、C を D にコピーすると、B と C と D のすべてがコピーソースである A を参照します。
例
getOptions()
署名
public Database.DMLOptions getOptions()
戻り値
例
getPopulatedFieldsAsMap()
署名
public Map<String,Object> getPopulatedFieldsAsMap()
戻り値
型: Map<String,Object>
項目名とそれに対応する値の対応付け。
使用方法
- 項目が SOQL ステートメントで照会された。
- getPopulatedFieldsAsMap() メソッドへのコールの前に項目が明示的に設定された。
次の例では、SOQL クエリの後に getPopulatedFieldsAsMap() メソッドで返された対応付けを反復処理します。
次の例では、SObject の項目が明示的に設定された後に getPopulatedFieldsAsMap() メソッドで返された対応付けを反復処理します。
次の例は、関連オブジェクトに getPopulatedFieldsAsMap() メソッドを使用する方法を示します。
getSObject(fieldName)
署名
public SObject getSObject(Schema.SObjectField fieldName)
パラメータ
- fieldName
- 型: Schema.SObjectField
戻り値
型: SObject
例
getSObjects(fieldName)
署名
public SObject[] getSObjects(Schema.SObjectType fieldName)
パラメータ
- fieldName
- 型: Schema.SObjectType
戻り値
型: SObject[]
getSObjectType()
署名
public Schema.SObjectType getSObjectType()
戻り値
使用方法
詳細は、「Apex Describe Information について」を参照してください。
例
put(fieldName, value)
署名
public Object put(String fieldName, Object value)
パラメータ
- fieldName
- 型: String
- value
- 型: Object
戻り値
型: Object
例
put(fieldName, value)
署名
public Object put(Schema.SObjectField fieldName, Object value)
パラメータ
- fieldName
- 型: Schema.SObjectField
- value
- 型: Object
戻り値
型: Object
例
putSObject(fieldName, value)
署名
public SObject putSObject(Schema.SObjectType fieldName, SObject value)
パラメータ
- fieldName
- 型: Schema.SObjectType
- value
- 型: SObject
戻り値
型: SObject
recalculateFormulas()
署名
public Void recalculateFormulas()
戻り値
型: Void
使用方法
このメソッドは、クロスオブジェクト数式を再計算しません。クロスオブジェクト数式項目と非クロスオブジェクト数式項目の両方があるオブジェクトでこのメソッドをコールすると、非クロスオブジェクト数式項目のみが再計算されます。
各 recalculateFormulas コールは、SOQL クエリの制限にカウントされます。「実行ガバナと制限」を参照してください。
setOptions(DMLOptions)
署名
public Void setOptions(database.DMLOptions DMLOptions)
パラメータ
- DMLOptions
- 型: Database.DMLOptions
戻り値
型: Void