簡単! Employee Centerで添付ファイルチェックを動的に行う方法

技術

社内業務に関するシステムを一元化して運用・管理できるクラウドサービス「ServiceNow」。
株式会社KYOSOでは、これまでの豊富な運用経験をもとに、ServiceNowの企画立案から運用・保守、内製化までトータルでサポートしています。

このブログでは、ServiceNowのEmployee Centerで添付ファイルの必須チェックを、項目の内容に応じて自動的に切り替える方法について説明します。
ServiceNowのCatalog Client Scriptを活用することで、この機能を実現することができます。

ServiceNowのEmployee Centerにおける添付ファイルの必須・任意設定

ServiceNowのEmployee Centerでは、通常、フォーム項目に対して添付ファイルが必須か任意かを設定するオプションが提供されています。しかし、特定の条件や項目の内容によって動的に必須と任意を切り替える機能はデフォルトでは備わっていません。

Catalog Client Scriptの活用

こうした制約を解消するために、ServiceNowではCatalog Client Scriptを使用することができます。このスクリプトを活用することで、ユーザーが入力する内容に基づいて添付ファイルの必須または任意を動的に切り替えることができます。

前提条件:ServiceNowの環境

  • 作成 ・・・ PDI
  • バージョン ・・・ Vancouver
  • 操作 ・・・ System Administrator (admin) 

ゴール

任意のカタログアイテムで添付ファイルチェックを動的に必須/任意へ変更できる

手順

カタログ項目の作成

今回は例として「パスワードリセットの申請」カタログアイテムに対して、新しいパスワードの連絡方法をSMSにした場合、添付ファイルを必須にするスクリプトを作成していきます(連絡方法がSMSではない場合、添付ファイルのチェックは行わない)。

ちなみに、添付ファイルを常に必須、または任意に設定したい場合は、レコードプロデューサーのポータルの設定タブから行うことができます。

Catalog Client Scriptの作成

〈プロパティ〉

名前 : 任意の名称
適用先 : カタログアイテム
アクティブ : True
UIタイプ:Mobile/Service Portal
タイプ:onSubmit
カタログアイテム:任意のカタログアイテム
カタログアイテムビューに適用:True

〈スクリプト〉

function onSubmit() {
    //パスワードの連絡方法がSMSの場合添付ファイル必須
    if (g_form.getValue('contact_me') == 'sms' && this.document.getElementsByClassName('get-attachment').length < 1) {
        g_form.addErrorMessage('申請書を添付してください');
        return false;
    }
    return true;
}

実装後

連絡方法でSMSを選択し、ファイルを添付せずに送信ボタンを押すとエラーメッセージが表示されるようになりました。

連絡方法でSMS以外を選択した場合は、添付ファイルなしで送信できます。

Catalog Client Scriptを利用することで他にもこんなことができます

動的な表示制御:
・特定のフィールドやセクションをユーザーの入力や選択に応じて動的に表示または非表示にする。
デフォルト値の動的設定:
・カタログアイテムのフォームにデフォルトで表示される値を、特定の条件に基づいて動的に設定する。
【技術】GlideAjaxを使用してユーザーフレンドリーな申請画面に! Potal画面にサーバーデータを表示する方法
バリデーション:
・入力されたデータをクライアント側でバリデーションし、エラーメッセージを表示する。
非同期処理:
・ユーザーのアクションに応じて、非同期で外部のデータを取得し、フォームに反映させる。
ダイナミックなボタンの表示制御:
・特定の条件に基づいて、フォーム内のボタンを表示または非表示にする。

さいごに

いかがでしたでしょうか?
ServiceNowのCatalog Client Scriptを使用することで、Employee Centerにおいて添付ファイルの必須・任意を動的に切り替えることが可能です。これにより、ユーザーエクスペリエンスを向上させつつ、柔軟かつ効果的なサービス管理が実現できます。是非、ご活用ください。最後まで閲覧いただき、ありがとうございました。
あなたにとって有益な情報を提供できたのであれば、大変嬉しく思います。

参考

投稿者プロフィール

H. U
H. U
2022年よりServiceNow業務に従事。主に開発を担当しています。
ServiceNow/VB/PHP/MySQL

保有資格
- ServiceNow Certified System Administrator
- ServiceNow Certified Application Developer
- ServiceNow Certified Implementation Specialist - IT Service Management
TOP