カタログクライアントスクリプト

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:5分
  • クライアント側のスクリプトは、フォームに動的な効果と検証を追加できます。スクリプトはサービスカタログアイテムまたは変数セットに適用できるため、アドミニストレーターは他のフォームで利用可能なものと同じ機能を使用できます。

    クライアント側のサイドスクリプトを使用して、次のことができます。

    • 変数値を取得または設定します。
    • 変数を非表示にするか表示します。
    • 変数を必須にするかどうかを指定します。
    • フォームの送信を検証します。
    • カートに追加します。
    • すぐに注文します。

    カタログクライアントスクリプトの考慮事項

    カタログクライアントスクリプトを作成するときは、次の考慮事項に注意してください。

    • カタログクライアントスクリプトは、ユーザーがサービスカタログからアイテムを注文したときに実行されます。カタログクライアントスクリプトは、ユーザーがカタログアイテムを要求したときにカタログアイテムの変数または変数セットが表示されるときにも実行できます。
    • カタログクライアントスクリプトを使用して変数にアクセスできるようにするには、変数名が必要です。名前のない変数は、利用可能な変数のリストに表示されません。
    • [要求アイテム] フォームまたは [カタログタスク] フォームで標準のクライアントスクリプトを使用する場合は、変数と同じ名前のフィールドをメモしておきます。同じ名前のテーブルフィールドと変数の両方がフォームに存在する場合、スクリプトを使用してアクセスするとテーブルフィールドが照合されます。これが発生した場合は、変数に「variables.variable name」という名前を付けて、具体的に対処します。例:g_form.setValue('variables.replacement', 'false');
    • レコードプロデューサーを使用して サービスカタログ から他のタイプのレコードに変数を渡す場合、これらの変数は、[変更要求] フォームの変更変数エディター UI フォーマッターなどの変数エディターを使用して、それらのレコードに表示されます。これらの変数は、標準のクライアントスクリプトメソッド (setDisplaysetMandatorysetValuegetValue など) を使用して操作できます。
    • カタログクライアントスクリプトは、ウィザードに含まれるカタログアイテムに使用できます。
    • g_form.refreshSlushbucket(fieldName) API を使用して、リストコレクター変数を更新できます。

    カタログクライアントスクリプトの違い

    カタログクライアントスクリプトは、標準のクライアントスクリプトとよく似ていますが、いくつかの重要な違いがあります。

    • スクリプトの [インシデント] などのテーブルを選択する代わりに、カタログアイテムまたは変数セットを選択します。システムには多数のカタログアイテムがある場合があるため、標準の [クライアントスクリプト] フォームで使用される選択リストではなく、参照フィールドを使用してカタログアイテムまたは変数セットを選択する必要があります。
    • onChange() カタログクライアントスクリプトを使用すると、フィールドではなく特定の変数にリンクされます。変数名選択リストには、選択したカタログアイテムまたは変数セットの名前付き変数が自動的に入力されます。

    カタログクライアントスクリプトの作成

    カタログクライアントスクリプトを作成するには、次の手順に従います。

    手順

    1. 移動先 すべて > サービスカタログ > カタログ管理 > カタログクライアントスクリプト.
      現在のカスタムカタログクライアントスクリプトのリストが表示されます。
    2. [新規] をクリックします。
    3. 必要に応じてフィールドに入力します (表を参照)。
      フィールド 説明
      名前 カタログクライアントスクリプトの一意の名前を入力します。
      適用先 このクライアントスクリプトが適用されるアイテムタイプを選択します。
      • カタログアイテム:[カタログアイテム] フィールドを有効にします。
      • 変数セット:変数セットフィールドを有効にします。
      アクティブ クライアントスクリプトを有効にするチェックボックスをオンにします。スクリプトを無効にするには、このチェックボックスをオフにします。
      UI タイプ デスクトップ、モバイル、またはその両方に適用するかどうかを指定します。
      スクリプト サービスカタログアイテムで実行するべきクライアントスクリプトを入力します。
      タイプ onLoadonSubmit などのスクリプトを実行するタイミングを選択します。
      カタログアイテムまたは変数セット リストからカタログアイテムまたは変数セットを選択します。使用可能なフィールド名とオプションは、[適用先] フィールドの選択によって異なります。
      カタログアイテムビューに適用 サービスカタログの注文画面に表示されているカタログアイテムにカタログクライアントスクリプトを適用する場合、このチェックボックスをオンにします。要求者のビューで利用可能です。
      要求アイテムに適用 アイテムが要求された後、[要求アイテム] フォームにカタログクライアントスクリプトを適用する場合、このチェックボックスをオンにします。履行者のビューで利用可能です。「VEditor」を参照してください。
      カタログタスクに適用 アイテムの [カタログタスク] フォームの表示中にカタログクライアントスクリプトを適用する場合、このチェックボックスをオンにします。履行者のビューで利用可能です。「VEditor」を参照してください。
      ターゲットレコードに適用 レコードプロデューサーを使用してタスク拡張テーブル用に作成されたレコードでカタログ UI ポリシーをサポートするには、このチェックボックスをオンにします。「デフォルトの変数エディター」を参照してください。
    4. [送信] をクリックします。

    カタログクライアントスクリプトの例

    一般的なアクションを実行するクライアントスクリプトの例。

    変数の値の取得

    カタログ変数の値を取得するには、次の構文を使用します。変数には名前が必要であることに注意してください。「variable_name」を変数の名前に置き換えます。

    g_form.getValue('variable_name');

    ユーザーが変数に入力できる文字数を制限する

    これは、アイテムが注文されたときではなく、変数が表示されたときに実行されるスクリプトの例です。

    function onLoad(){
      var sd = g_form.getControl('short_description');
      sd.maxLength=80;
    }