サービスポータルのウィジェットを介してサーバーからクライアントにテーブルのフィールド値を渡す方法Issue ウィジェットは、Service Portal の必需品の 1 つです。さまざまな場合に使用できます。1 つの例は、Service Portal のウィジェットを介してサーバーからクライアントにテーブルのフィールド値を渡す方法に関するものです。Resolutionデータは、ウィジェット内でサーバースクリプトとクライアントコントローラーをバインドするオブジェクトです。このオブジェクトを使用して、データを渡すための変数やプロパティを追加できます。 例えば、sys_user テーブルにある既存ユーザーの名と姓をウィジェット経由でコンソール(またはアラートボックス)に表示するとします。 これを行うには、 1. 新しいウィジェットを作成し、以下のコードを追加します。 Body HTML template (本文 HTML テンプレート): <div class="panel panel-default">> <button type="button" class="btn btn-primary btn-block" ng-click="c.uiAction('Show')">Just Do It!</button></div> サーバースクリプト: (function() { /* populate the 'data' object */ /* e.g., data.table = $sp.getValue('table'); */ var userRecord = new GlideRecord('sys_user'); userRecord.addQuery('sys_id', 'sys_id_of_a_user'); //Add any other condition - This is a sample userRecord.query(); var user = {}; //User's record object containing values if(userRecord.next() && input && input.action){ data.user = user; if(input.action == 'show'){ data.user.first_name = userRecord.first_name.toString(); data.user.last_name = userRecord.last_name.toString(); } }})(); クライアントコントローラー: function() { /* widget controller */ var c = this; c.server.update(); //overwrites the data object with new updated contents console.log("User's first Name: " + c.user.first_name); console.log("User's first Name: " + c.user.first_name);} 2. このウィジェットをページに追加し、サービスポータルでそのページを開きます。このウィジェット (ロードされている) をクリックすると、目的のデータが入力されていることをコンソールで確認できます。 注意: ウィジェットはサービスポータルページのカタログ変数にアクセスできません。したがって、ページの操作は不可能です。Related Linksサービスポータルウィジェットのドキュメントを参照してください:https://docs.servicenow.com/csh?topicname=c_Widgets.html&version=latest