サービスポータルのウィジェットを介してサーバーからクライアントにテーブルのフィールド値を渡す方法Issue ウィジェットは、Service Portal の必需品の 1 つです。さまざまな場合に使用できます。そのうちの 1 つは、Service Portal のウィジェットを介してサーバーからクライアントにテーブルのフィールド値を渡す方法に関するものです。Resolution- 「データ」は、ウィジェットでサーバースクリプトとクライアントコントローラーをバインドするオブジェクトです。 - このオブジェクトを使用して、データを渡すための変数/プロパティを追加できます。 - ウィジェットを介してコンソール(またはアラートボックス)に「sys_user」テーブルの既存のユーザーの名と「姓」を表示するとします。 - 新しいウィジェットを作成し、以下を追加します。 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);} このウィジェットをページに追加し、サービスポータルでそのページを開きます。このウィジェット (ロードされている) をクリックすると、目的のデータが入力されていることをコンソールで確認できます。 さらに、ウィジェットはサービスポータルページのカタログ変数にアクセスできません。したがって、ページの操作は不可能です。Related Linksサービスポータルウィジェットのドキュメントを参照してください:https://docs.servicenow.com/csh?topicname=c_Widgets.html&version=latest