Configurer une action d’écriture différée scriptée qui enregistre une entrée de signature

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 1 minute de lecture
  • Configurez l’action d’écriture différée scriptée d’un élément d’action qui peut enregistrer l’entrée de signature dans votre écran du formulaire d’entrée.

    Avant de commencer

    Vous devez créer un écran du formulaire d’entrée avec des entrées de signature. Pour plus d'informations, consultez Configurer des écrans du formulaire d’entrée avec des entrées de signature.

    En outre, vous devez avoir configuré un élément d’action à utiliser pour cet écran du formulaire d’entrée. Pour plus d'informations, consultez Configurer un élément d’action.

    Rôle requis : admin

    Pourquoi et quand exécuter cette tâche

    Les administrateurs peuvent écrire des scripts qui effectuent l’action, puis enregistrer les entrées de signature. Ils peuvent également écrire des scripts qui enregistrent d’abord la signature avant d’effectuer l’action.

    Vous pouvez utiliser le script include MobileSignatureHandler pour enregistrer les entrées de signature. Le script include MobileSignatureHandler enregistre la signature dans la table sys_attachment et crée un enregistrement pertinent dans la table signature_image.

    Vous pouvez également écrire du code personnalisé pour gérer l’enregistrement de vos entrées de signature. Pour plus d’informations sur le scripting côté serveur, consultez Scripting côté serveur.

    Procédure

    1. Accédez à la Tous > Mobile système > Éléments d'action.
    2. Sélectionnez l’élément d’action que vous souhaitez utiliser pour l’entrée de signature.
    3. Ajoutez le script d’enregistrement de signature dans le champ Script d’exécution .
      Par exemple, le script d’élément d’action d’écriture différée suivant montre comment MobileSignatureHandler peut être utilisé pour enregistrer l’entrée de signature :
      (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. Sélectionnez Mettre à jour pour enregistrer la configuration.