概要
本記事ではService Portalでrefelence項目を使用した際にハマった点を共有します。環境
Version:San Diego
Role:System Administrator(admin)
①Ajaxでテーブルから値を取得したreference項目の表示
Service Portal画面ロード時にrefelence項目に過去の入力済データをGlideAjaxで表示した際に値ではなくsys_idが表示されてしまった。
↓対応
●Script Include
reference項目はsysidとdisplayvalueの両方を取得する
result = {"r_ref_sysid" = : GlideRecord.getValue("db_reference_val"),
"r_ref_val" = : GlideRecord.getDisplayValue("db_reference_val")}:
return JSON.stringify(result);
●Catalog Client Script
画面への設定は第二引数にsysid、第三引数にdisplayvalueを設定する
g_form.setValue("ServicePortal_field",result.r_ref_sysid,result.r_ref_val);
②reference項目にFunction fieldを適用した場合の挙動
テーブルにreference項目を作成した際に、関数フィールドを適用させると、実行時にエラーが表示される。原因:Service Nowの不具合、現時点(2022/9/14)では改修予定未定
参考:https://support.servicenow.com/kb?id=kb_article_view&sys_kb_id=9241e60adb0e2744f21f5583ca961945