CSBScratchpadUtil :スコープ指定
CSBScratchpadUtil API を使用すると、コンシューマーは、他の サービスブリッジ サービスの外部にある "余分な" 情報をプロバイダーと共有できます。
この情報は、名前と値のペアとしてスクラッチパッド [sn_sb_scratchpad] テーブルに格納されます。共有情報は、プロバイダータスクまたはリモートタスクの 2 つのタイプのいずれかのタスクに関連付ける必要があります。
関連付けられたタスクがアクティブな場合、更新されたスクラッチパッド情報がコンシューマーインスタンスに同期されます。タスクが非アクティブ化または削除された場合、スクラッチパッド内の情報も指定された日数後に削除されます。デフォルトでは 3 つです。このデフォルトは、sn_sb.scratchpad.autodelete.days プロパティで定義されています。
プロバイダーとコンシューマーの両方が、スクラッチパッドテーブルに対して情報を追加、更新、削除できます。プロデューサーは、 PSBScratchpadUtil - スコープ指定 API を使用してこの情報を更新します。
この API にアクセスするには、コンシューマー向け サービスブリッジ アプリケーションをインストールする必要があります。この API は sn_sb_con 名前空間で実行されます。
CSBScratchpadUtil - get (GlideRecord taskGR, 文字列名)
指定されたスクラッチパッドプロパティの値を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| taskGR | GlideRecord | 指定されたスクラッチパッドプロパティに関連付けられたアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。これらのレコードは、リモートタスク [sn_sb_con_remote_task] テーブルとプロバイダータスク [sn_sb_con_provider_task] テーブルにあります。 |
| name | 文字列 | 値を取得するスクラッチパッドプロパティの名前。スクラッチパッド [sn_sb_scratchpad] テーブルにあります。 |
| タイプ | 説明 |
|---|---|
| 文字列または null | 要求されたスクラッチパッドプロパティの値。プロパティが見つからない場合は Null。 |
次のコード例は、このメソッドを呼び出す方法を示しています。
var rtGR = new GlideRecord("sn_sb_con_remote_task");
rtGR.setLimit(1);
rtGR.query();
rtGR.next()
if (rtGR.isValidRecord()) {
var util = new sn_sb_con.CSBScratchpadUtil();
util.update(rtGR, "name1", "value1");
gs.info(util.get(rtGR, "name1"));
}
出力:
"value1"
CSBScratchpadUtil - getAll(GlideRecord taskGR)
指定されたタスクに関連付けられているすべてのスクラッチパッドプロパティのプロパティ名と値 (名前と値のペア) を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| taskGR | GlideRecord | 関連するスクラッチパッドプロパティを返すアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。これらのレコードは、リモートタスク [sn_sb_con_remote_task] テーブルとプロバイダータスク [sn_sb_con_provider_task] テーブルにあります。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | 指定されたタスクに含まれるすべてのプロパティ名と値。フォームでは、次のようになります。
|
次のコード例は、このメソッドを呼び出す方法を示しています。
var rtGR = new GlideRecord("sn_sb_con_remote_task");
rtGR.setLimit(1);
rtGR.query();
rtGR.next()
if (rtGR.isValidRecord()) {
var util = new sn_sb_con.CSBScratchpadUtil();
util.update(rtGR, "name1", "value1");
gs.info(JSON.stringify(util.getAll(rtGR)));
}
出力:
{ "name1": "value1" }
CSBScratchpadUtil - getNames(GlideRecord taskGR)
指定されたタスクレコードに関連付けられているすべてのスクラッチパッドプロパティの名前のリストを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| taskGR | GlideRecord | 関連付けられているすべてのスクラッチパッドプロパティの名前のリストを返すアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。これらのレコードは、リモートタスク [sn_sb_con_remote_task] テーブルとプロバイダータスク [sn_sb_con_provider_task] テーブルにあります。 |
| タイプ | 説明 |
|---|---|
| 文字列アレイ | 指定されたタスクレコードに関連付けられているスクラッチパッドプロパティの名前のリスト。 |
次のコード例は、このメソッドを呼び出す方法を示しています。
var rtGR = new GlideRecord("sn_sb_con_remote_task");
rtGR.setLimit(1);
rtGR.query();
rtGR.next()
if (rtGR.isValidRecord()) {
var util = new sn_sb_con.CSBScratchpadUtil();
util.update(rtGR, "name1", "value1");
gs.info(JSON.stringify(util.getNames(rtGR)));
}
出力:
[ "name1" ]
CSBScratchpadUtil:populateClientScratchpadBR (GlideRecord taskGR)
指定されたリモートタスクまたはプロバイダータスクに関連付けられたスクラッチパッドプロパティをクライアントg_scratchpadに配置します。
このメソッドは、UI 表示ビジネスルールから呼び出すことができます。
| 名前 | タイプ | 説明 |
|---|---|---|
| taskGR | GlideRecord | 関連するスクラッチパッドエントリをクライアントg_scratchpadに配置する必要があるアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。これらのレコードは、リモートタスク [sn_sb_con_remote_task] テーブルとプロバイダータスク [sn_sb_con_provider_task] テーブルにあります。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、このメソッドを呼び出す方法を示しています。
new sn_sb_con.CSBScratchpadUtil().populateClientScratchpadBR(current);
CSBScratchpadUtil - remove(GlideRecord taskGR, 文字列名)
指定されたスクラッチパッドプロパティをスクラッチパッド [sn_sb_scratchpad] テーブルから削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| taskGR | GlideRecord | 指定されたスクラッチパッドプロパティに関連付けられたアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。これらのレコードは、リモートタスク [sn_sb_con_remote_task] テーブルとプロバイダータスク [sn_sb_con_provider_task] テーブルにあります。 |
| name | 文字列 | スクラッチパッド [sn_sb_scratchpad] テーブルから削除するスクラッチパッドプロパティの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、このメソッドを呼び出す方法を示しています。
var rtGR = new GlideRecord("sn_sb_con_remote_task");
rtGR.setLimit(1);
rtGR.query();
rtGR.next()
if (rtGR.isValidRecord()) {
var util = new sn_sb_con.CSBScratchpadUtil();
util.update(rtGR, "name1", "value1");
util.remove(rtGR, “name1”);
gs.info(util.get(rtGR, "name1"));
}
出力:
undefined
CSBScratchpadUtil - update(GlideRecord taskGR, 文字列名, 文字列値, ブール client_side_accessible)
スクラッチパッド [sn_sb_scratchpad] テーブルにプロパティを挿入するか、プロパティの値を更新します。
| 名前 | タイプ | 説明 |
|---|---|---|
| taskGR | GlideRecord | 指定されたスクラッチパッドプロパティに関連付けられたアクティブなリモートタスクまたはプロバイダータスクの GlideRecord。これらのレコードは、リモートタスク [sn_sb_con_remote_task] テーブルとプロバイダータスク [sn_sb_con_provider_task] テーブルにあります。 |
| name | 文字列 | 新規または既存のスクラッチパッドプロパティの名前。この名前は、すべてのスクラッチパッドプロパティで一意である必要があります。 |
| 値 | 文字列 | スクラッチパッドプロパティの値。 最大:4,000 文字。 |
| client_side_accessible | ブーリアン | オプション。表示ビジネスルールから populateClientScratchpadBR が呼び出されたときに、クライアント側g_scratchpadでこのプロパティを使用できるかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、このメソッドを呼び出す方法を示しています。
var rtGR = new GlideRecord("sn_sb_con_remote_task");
rtGR.setLimit(1);
rtGR.query();
rtGR.next()
if (rtGR.isValidRecord()) {
var util = new sn_sb_con.CSBScratchpadUtil();
util.update(rtGR, "name1", "value2");
gs.info(util.get(rtGR, "name1"));
}
出力:
"value2"