署名入力を保存するスクリプト化された書き戻しアクションを構成する

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:3分
  • 入力フォーム画面に署名入力を保存できるアクションアイテムのスクリプト化されたライトバックアクションを構成します。

    始める前に

    署名入力を含む入力フォーム画面を作成する必要があります。詳細については、「署名入力のある入力フォーム画面の構成」を参照してください。

    さらに、この入力フォーム画面に使用するアクションアイテムを構成しておく必要があります。詳細については、「アクションアイテムの設定」を参照してください。

    必要なロール:admin

    このタスクについて

    アドミニストレーターは、アクションを実行するスクリプトを記述し、署名入力を保存できます。または、アクションを実行する前に署名を保存するスクリプトを作成することもできます。

    MobileSignatureHandler スクリプトインクルードを使用して、署名入力を保存できます。MobileSignatureHandler スクリプトインクルードは、署名をsys_attachmentテーブルに保存し、signature_imageテーブルに関連レコードを作成します。

    署名入力の保存を処理するカスタムコードを記述することもできます。サーバーサイドスクリプティングの詳細については、「 サーバーサイドスクリプティング」を参照してください。

    手順

    1. 移動先 すべて > システムモバイル > アクションアイテム.
    2. 署名入力に使用するアクションアイテムを選択します。
    3. [ 実行スクリプト ] フィールドに署名保存スクリプトを追加します。
      たとえば、次の書き戻しアクション項目スクリプトは、 MobileSignatureHandler を使用して署名入力を保存する方法を示しています。
      (function WriteBackAction(parm_input, parm_variable, actionResult) {
          var gr = new GlideRecord("incident");
          gr.get(parm_variable['sys_id']);
          var shortDesc = parm_input['shortDescInput'];
          gr.setValue("short_description", shortDesc);
          gr.update();
            // in this example "signatureInput" is the name of a sys_sg_input of type signature
            // SignatureType will return either "Image" or "Text"
          var signatureType = parm_input['signatureInput']["SignatureType"];
            // SignatureValue will return a String containing the base64 respresentation of the image in the case of a drawn signature
            // or a String with the name of the user if they typed their name
          var signatureValue = parm_input['signatureInput']["SignatureValue"];
          var table = "incident";
          var documentId = parm_variable['sys_id'];
          var signatureHandler = new sn_mobile.MobileSignatureHandler();
          if (signatureType == "Image")
              signatureHandler.insertSignatureImage(table, documentId, signatureValue);
          else if (signatureType == "Text")
              signatureHandler.insertTypedSignature(table, documentId, signatureValue);
      })(parm_input, parm_variable, actionResult);
    4. [更新] を選択して構成を保存します。