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

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

    始める前に

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

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

    必要なロール:admin

    このタスクについて

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

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

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

    手順

    1. 次のように移動する。 All (すべて) > システムモバイル > アクションアイテム.
    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. [更新] を選択して構成を保存します。