RecordContext
RecordContextを使用すると、オブジェクトに関連するイベントおよび操作をリスニングできます。 たとえば、フィールド値の変更、イベント保存前、イベント保存後ONなどをリスニングできます。
サポートされているイベント
| イベント名 | 説明 | 例 |
|---|---|---|
| FieldValueChange | SRタイトル・フィールドの変更など、フィールド値が変更されたときに開始されます。 | FieldValueChangeイベントのサブスクライブ |
| OnBeforeSave | サーバーにデータをコミットするためのREST APIリクエストの開始前に開始されました。 エンド・ユーザーは、このコールバックで非同期操作を実行するか、このイベントを取り消すことができます。 このイベントは、非同期操作が完了するまで待機できます。 | OnBeforeSaveイベントのサブスクライブ |
| OnAfterSave | レコードがVBアプリケーションに保存された後に開始されます。 たとえば、SRの保存後などです。 | OnAfterSaveイベントのサブスクライブ |
| OnDataLoad | データのロード時に開始されます。 たとえば、SRオブジェクト・データをフェッチした後です。 | OnDataLoadイベントのサブスクライブ |
| CustomEvent | ビジネス固有のカスタム・イベントをサポートするために使用されます。 | CustomEventイベントのサブスクライブ |
サポートされている操作
| 工程名 | 説明 | 例 |
|---|---|---|
| GetFieldValue | フィールドの現在の値を取得するために使用されます。 たとえば、SRの「タイトル」フィールドの現在の値を取得します。 | GetFieldValue操作を公開します。 |
| レコードを保存 | 開いているレコードを保存するために使用します。 たとえば、これを使用して、編集ページからSRフォームを保存したり、作成フォームからSRを保存します。 | レコード保存操作の公開。 |
| SetFieldValue | 特定のフィールドの値を更新するために使用します。 たとえば、SRの「タイトル」フィールドを更新する場合に使用します。 | SetFieldValue操作を公開します。 |
| CustomEvent | ビジネス固有のカスタム・イベントをサポートするために使用されます。 | CustomEvent操作を公開します。 |
| GetFieldsInUI | レンダリングされた動的フォームのフィールドのリストをフェッチするために使用されます。 | GetFieldsInUI操作を公開します。 |
サポートされているメソッド
| メソッド名 | 説明 |
|---|---|
| サブスクライブ | Fusionアプリケーションからイベントをサブスクライブします。 たとえば、フィールド値変更イベントです。 |
|
subscribeOnce |
fusionアプリケーションのレコード・コンテキストからイベントに1回サブスクライブします。イベントが起動されると、サブスクリプションは破棄されます。次に例を示します: フィールド値変更 |
| 公開 | レコード・コンテキストでの操作の公開: フィールド値の設定、フィールド値の取得操作 |
| 処分 | recordContextを処分 |
| getSupportedEvents | そのレコード・コンテキストでサポートされているイベントを配列として返します。例: : ['GetFieldValue', 'SetFieldValue', 'SaveRecord', 'CustomEvent'] |
| getSupportedActions | そのレコード・コンテキストでサポートされるアクションを配列として返します: ['DataLoad', 'OnBeforeSave', 'OnAfterSave', 'FieldValueChange', 'Custom'] |
| getRecordType | レコードのタイプ(例)を返します: ServiceRequest、ケース |
| getRecordId | レコードIDを返します。 まだ作成されていないレコードのレコード・コンテキストの場合、IDは負の数になります。 |
RecordContextの参照を取得するには、TabContextオブジェクト (ブラウザTabContextまたはMSI-TabContextのいずれか)上でgetActiveRecord() APIをコールします。 getActiveRecord API以外に、RecordContextオブジェクトをContextOpenイベント・サブスクリプションのレスポンスとして取得できます。