StaticMethods - グローバル
静的メソッドは、サーバーサイドの JavaScript 内で使用できるメソッドですが、クラスや API の一部ではありません。
これらのメソッドには、使用前にコンストラクターやその他のタイプのインスタンス化を行うことなく、サーバースクリプト内で直接アクセスできます。
静的メソッド:updateVirtualField(GlideRecord remoteTaskGr, String virtualField, String virtualValue, String virtualDisplayValue)
サービスブリッジリモートタスクを使用するときに、ターゲットインスタンスのタスクテーブルの仮想フィールドに入力します。
仮想フィールドは、ターゲットタスクテーブルには存在するが、ソースタスクテーブルには存在しないフィールドです。このメソッドを使用して、ソースインスタンスからターゲットインスタンスに仮想フィールドの値を渡します。このメソッドは、指定された リモートタスクのフォームセクションに、仮想フィールドに指定された値を JSON として保存します。このリモートタスクはターゲットインスタンスに同期され、ターゲットタスクテーブルのマッピングされたフィールドに値が格納されます。
仮想フィールドは、リモートタスク定義で定義されます。リモートタスク定義には、ソースインスタンスとターゲットインスタンスのタスクテーブル間でフィールドをマッピングする受信マッピングテーブルと送信マッピングテーブルが含まれています。ターゲットテーブルに存在するフィールドがソーステーブルに含まれていない場合、そのフィールドはリモートタスク定義で仮想フィールドとして構成されます。その後、コンシューマーは、 サービスブリッジ 変換またはこのメソッドを使用して、関連するターゲットタスクレコード内のこれらの仮想フィールド値を更新できます。
- プロバイダーは、プロバイダーのケーステーブルとコンシューマーのインシデントテーブルのリモートタスク定義を作成します。
- プロバイダーは、リモートタスク定義の [関連リンク] の [受信フィールド] タブで、インシデントテーブルとケーステーブルの間のフィールドをマッピングします。[影響を受けるインスタンス] フィールドを定義するときに、プロバイダーは [仮想] チェックボックスをオンにして、[ターゲットマッピング] タブの [ターゲット] フィールドから [影響を受けるインスタンス] を選択します。注:仮想フィールドを定義する場合、ソースフィールドは存在しないため定義されません。
- その後、プロバイダーはリモートタスク定義を公開し、コンシューマーインスタンスに同期します。
- コンシューマーは、インシデントテーブルのリモートタスクを作成します。仮想フィールドの情報を含む、マッピングされたフィールドのすべての値を保持する JSON ペイロードは、リモートタスクのフォームセクションに含まれています。
- コンシューマーインスタンスは、インシデントテーブルのレコードが更新されたときに実行されるビジネスルールなどで updateVirtualField() メソッドを呼び出して、リモートタスクの [影響を受けるインスタンス] フィールドの値を設定します。注:ターゲットテーブルのデータはいつでも入力できますが、仮想フィールドとして設定された必須フィールドは、リモートタスクがプロデューサーインスタンスに送信される前にリモートタスクに入力する必要があります。
- リモートタスクはプロバイダーインスタンスに同期され、プロバイダーインスタンスにケースレコードが作成されます。
リモートタスク定義の作成方法については、「 Create remote task definitions in Service Exchange for Providers」を参照してください。
サービスブリッジ変換の作成方法については、「Transform data with the Service Exchange transform framework」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| リモートタスクGr | GlideRecord | 指定された仮想フィールド値を設定するリモートタスクの GlideRecord オブジェクト。 |
| 仮想フィールド | 文字列 | フィールド 関連付け情報を更新する仮想フィールドのフィールド名。関連付けられたリモートタスク定義の [送信フィールド ] 関連タブで定義されます。 |
| 仮想値 | 文字列 | ターゲットインスタンスのこのフィールドに設定する値。 |
| 仮想表示値 | 文字列 | ターゲットインスタンスでこのフィールドに設定する表示値 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、このメソッドを呼び出す方法を示しています。
var remoteTaskGr = new GlideRecord("");
/** Remote Task table name,
** Table name vary based on which instance the script is being executed.
**/
remoteTaskGr.get(""); // Remote Task record sys_id
global.sb.updateVirtualField(remoteTaskGr,"<virtual outbound field name>", "<value to set on target field>", "<display value to set on target field>");