カタログ クライアント スクリプト
クライアント側のスクリプトは、フォームに動的な効果と検証を追加できます。スクリプトは Service Catalog アイテムまたは変数セットに適用できるため、管理者は他のフォームで利用可能なものと同じ機能を使用できます。
クライアント側のサイドスクリプトを使用して、次のことができます。
- 変数値を取得または設定します。
- 変数を非表示にするか表示します。
- 変数を必須にするかどうかを指定します。
- フォームの送信を検証します。
- 買い物かごに追加します。
- すぐに注文します。
カタログクライアントスクリプトの考慮事項
カタログクライアントスクリプトを作成するときは、次の考慮事項に注意してください。
- カタログクライアントスクリプトは、ユーザーがサービスカタログからアイテムを注文したときに実行されます。カタログクライアントスクリプトは、ユーザーがカタログアイテムを要求したときにカタログアイテムの変数または変数セットが表示されるときにも実行できます。
- カタログクライアントスクリプトを使用して変数にアクセスできるようにするには、変数名が必要です。名前のない変数は、利用可能な変数のリストに表示されません。
- [要求アイテム] フォームまたは [カタログタスク] フォームで標準のクライアントスクリプトを使用する場合は、変数と同じ名前のフィールドをメモしておきます。同じ名前のテーブルフィールドと変数の両方がフォームに存在する場合、スクリプトを使用してアクセスするとテーブルフィールドが照合されます。これが発生した場合は、変数に「
variables.variable name」という名前を付けて、具体的に対処します。例:g_form.setValue('variables.replacement', 'false'); - レコードプロデューサーを使用して Service Catalog から他のタイプのレコードに変数を渡す場合、これらの変数は、[変更要求] フォームの変更変数エディター UI フォーマッターなどの変数エディターを使用して、それらのレコードに表示されます。これらの変数は、標準のクライアントスクリプトメソッド (
setDisplay、setMandatory、setValue、getValueなど) を使用して操作できます。 - カタログクライアントスクリプトは、ウィザードに含まれるカタログアイテムに使用できます。
g_form.refreshSlushbucket(fieldName)API を使用して、リストコレクター変数を更新できます。
カタログクライアントスクリプトの違い
カタログクライアントスクリプトは、標準のクライアントスクリプトとよく似ていますが、いくつかの重要な違いがあります。
- スクリプトの [インシデント] などのテーブルを選択する代わりに、カタログアイテムまたは変数セットを選択します。システムには多数のカタログアイテムがある場合があるため、標準の [クライアントスクリプト] フォームで使用される選択リストではなく、参照フィールドを使用してカタログアイテムまたは変数セットを選択する必要があります。
- onChange() カタログクライアントスクリプトを使用すると、フィールドではなく特定の変数にリンクされます。変数名選択リストには、選択したカタログアイテムまたは変数セットの名前付き変数が自動的に入力されます。
カタログクライアントスクリプトの作成
カタログクライアントスクリプトを作成するには、次の手順に従います。
手順
カタログクライアントスクリプトの例
一般的なアクションを実行するクライアントスクリプトの例。
変数の値の取得
カタログ変数の値を取得するには、次の構文を使用します。変数には名前が必要であることに注意してください。「variable_name」を変数の名前に置き換えます。
g_form.getValue('variable_name');
ユーザーが変数に入力できる文字数を制限する
これは、アイテムが注文されたときではなく、変数が表示されたときに実行されるスクリプトの例です。
function onLoad(){
var sd = g_form.getControl('short_description');
sd.maxLength=80;
}