レコードのフィールドのアクセス

Entity オブジェクトには、レコードのフィールドに関連したすべてのデータが含まれています。フィールドに関して何か知る必要がある場合には、常に Entity オブジェクトで操作を開始します。Entity のメソッドを呼び出して、必要な情報を取得できる場合もあります。しかし、Entity オブジェクトを使用して FieldInfo オブジェクトを取得することもできます。このオブジェクトには、フィールドに関する追加情報が含まれています。

FieldInfo オブジェクトを取得するには、GetFieldValue メソッドを呼び出します。

FieldInfo オブジェクトに格納されている値を取得するには、FieldInfo オブジェクトの GetValue メソッドを呼び出します。

FieldInfo オブジェクトのコレクションを取得するには、レコード内のフィールドごとに一度、GetAllFieldValues メソッドを呼び出します。(注: GetAllFieldValues は添付ファイルのフィールド内の値を戻しません。)

すべてのフィールドの名前のリストを取得するには、GetFieldNames メソッドを呼び出します。

フィールドに格納されているデータのタイプを取得するには、GetFieldType メソッドを呼び出します。

現在のアクションのフィールドの動作 (必須、オプション、または読み取り専用) を検出するには、GetFieldRequiredness メソッドを呼び出します。

通常は FieldInfo オブジェクトを使用してフィールドにアクセスしますが、Entity のメソッドを使用する必要のある場合があります。

フィールドの値を設定するには、SetFieldValue メソッドを呼び出します。

フィールドの新規の値と旧の値を比較するには (フィールドの内容を以前に更新した場合)、GetFieldOriginalValue メソッドを呼び出して旧の値を取得します。

注: Entity オブジェクトまたは FieldInfo オブジェクトを使用してフィールドの動作を取得できますが、フィールドの動作の設定には、Entity の SetFieldRequirednessForCurrentAction メソッドしか使用できません。

選択リストを含むフィールドを変更するには、Entity オブジェクト のメソッドを使用します。

タスク
呼び出す Entity オブジェクトのメソッド
フィールドの暗黙的値のリストを取得するには
GetFieldChoiceList
選択リストにアイテムを追加できるかどうかを指定する定数を取得するには
GetFieldChoiceType
変更できる選択リストにアイテムを追加するには
AddFieldValue
変更できる選択リストからアイテムを削除するには
DeleteFieldValue

レコードのフィールドを更新する場合、Entity オブジェクトには、すべての変更済みフィールドを追跡できる方法がいくつか用意されています。他のフィールドを変更するフックを作成できため、SetFieldValue メソッドを呼び出すと、複数のフィールドが変更される結果となる場合があります。例えば、フィールド X に SetFieldValue を呼び出し、フィールド X のフィールド フックでフィールド Y の値を変更すると想定します。

注: 無限ループ (お互いを呼び出すフック) を作成しないように注意してください。

フィードバック