action - champ d’application, global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 4 minutes de lecture
  • L’API d’action fournit des méthodes pour traiter les données des URL dans un script d’action d’interface utilisateur.

    Utilisez cette API pour configurer les actions d’interface utilisateur avec lesquelles les utilisateurs peuvent interagir. Utilisez ces scripts dans la table Action d’interface utilisateur [sys_ui_action]. Pour en savoir plus, reportez-vous à la section Actions d’interface utilisateur.

    Les méthodes de cette API sont désignées par le nom de variable « action » dans tout JavaScript côté serveur. Pour en savoir plus, reportez-vous à la section Création d’interactions à l’aide d’actions d’interface utilisateur.

    action : getGlideURI()

    Obtient un objet GlideURI pour déterminer la vue utilisateur.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    Tableau 2. Renvoie
    Type Description
    Objet Objet GlideURI représentant le paramètre URI de la vue utilisateur.
    Remarque :
    Toute autre valeur renvoyée est considérée comme une erreur, y compris nulle.

    L’exemple suivant montre comment obtenir la vue utilisateur et définir l’URL de redirection vers la page d’accueil du catalogue de services.

    var uri = action.getGlideURI();
    var path = 'catalog_home.do';
    
    uri.set('sysparm_view', 'catalog_default');
    action.setRedirectURL(uri.toString(path));

    action : getReturnURL()

    Obtient l’URL de la page de retour en vue lorsqu’une action d’interface utilisateur est terminée.

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Chaîne URL de la page de retour affichée après l’achèvement d’une action d’interface utilisateur.
    action.getReturnURL();

    action : getURLParameter(String parameterName)

    Obtient la valeur d’un paramètre d’URL.

    Tableau 5. Paramètres
    Nom Type Description
    parameterName Chaîne Nom du nom du paramètre d’URL dont la valeur du paramètre d’URL doit être interrogée.
    Tableau 6. Renvoie
    Type Description
    Chaîne Valeur du paramètre d’URL.
    action.getURLParameter('sysparm_query');

    action : openGlideRecord(Object gr)

    Ouvre une page avec un GlideRecord dans la vue utilisateur.

    Tableau 7. Paramètres
    Nom Type Description
    gr GlideRecord GlideRecord de la page à ouvrir dans la vue utilisateur.
    Tableau 8. Renvoie
    Type Description
    nul  

    L’exemple suivant montre comment inclure le nom de l’appelant et la description de l’incident créés à partir d’un enregistrement d’interaction. Pour plus d’informations, voir Configurer des actions d’interface utilisateur personnalisées dans Workspace.

    if(current.update()){
      var inc = new GlideRecord("incident");
      inc.newRecord();
      inc.caller_id = current.opened_for;
      inc.short_description = current.short_description;
      action.openGlideRecord(inc);
    }

    action : setNoPop(booléen noPop)

    Indique s’il faut activer ou désactiver les fenêtres contextuelles sur la page dans la vue actuelle.

    Tableau 9. Paramètres
    Nom Type Description
    noPop (en anglais seulement) Booléen Marqueur indiquant s’il faut activer ou désactiver les fenêtres contextuelles sur la page :
    • true : désactive les fenêtres contextuelles.
    • false : valeur par défaut. Active les fenêtres contextuelles.
    Tableau 10. Renvoie
    Type Description
    Aucun

    L’exemple suivant montre comment désactiver les fenêtres contextuelles pour une action d’interface utilisateur.

    
    action.setNoPop(true);

    action : setRedirectURL(URL de l’objet)

    Définit l’URI de redirection pour cette transaction, qui détermine la page suivante que l’utilisateur verra.

    Tableau 11. Paramètres
    Nom Type Description
    URL Objet URL à définir comme redirection. Vous pouvez fournir l’URL sous forme de chaîne ou de GlideRecord. Si vous transmettez l’URL en tant que GlideRecord, cette valeur met l’accent sur le formulaire de cet enregistrement.
    Tableau 12. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment rediriger un utilisateur vers une URL à partir d’une action d’interface utilisateur à l’aide de la variable actuelle .

    var fixchg = new GlideRecord("change_request");
    fixchg.short_description= current.short_description;
    fixchg.comments= current.comments.getHTMLValue();
    // fixchg.parent = current.sys_id;
    fixchg.insert();
    FixChange();
     
    gs.addInfoMessage("Change "+ fixchg.number+" created");
    action.setRedirectURL(current);
    action.setReturnURL(fixchg);
     
    function FixChange(){
    var m2m = new GlideRecord('task_rel_task');
    m2m.initialize();
    m2m.child= current.sys_id;
    m2m.parent= fixchg.sys_id;
    m2m.type.setDisplayValue("Fixes::Fixed by");
    m2m.insert();}
    L’exemple suivant montre comment créer un nouvel enregistrement d’incident et le rediriger vers le nouvel incident une fois l’action d’interface utilisateur terminée.
    var reqItem = current.u_item;
    var requestedFor = current.u_requested_for;
    var location = current.location;
    
    if(current.u_incident_request == 'Incident'){
      //Create a new incident record and redirect to the new incident
      var rec = new GlideRecord('incident');
      rec.initialize();
      rec.caller_id = requestedFor;
      rec.location = location;
      rec.insert();
      action.setRedirectURL(rec);
    }
    
    if(current.u_incident_request == 'Request'){
      //Build the url and route the user to the request item
      var url = '';
      if(current.u_item.sys_class_name == 'sc_cat_item_guide'){
        url = 'com.glideapp.servicecatalog_cat_item_guide_view.do?sysparm_initial=true&sysparm_guide=' + 
          reqItem + '&sysparm_user=' + requestedFor + '&sysparm_location=' + location;
      }
      else{
        url = 'com.glideapp.servicecatalog_cat_item_view.do?sysparm_id=' + reqItem + '&sysparm_user=' +  
          requestedFor + '&sysparm_location=' + location;
      }
      action.setRedirectURL(url);
    }

    action : setReturnURL(URL de l’objet)

    Définit l’URI de retour pour cette transaction une fois qu’une action d’interface utilisateur est terminée. Vous pouvez utiliser cette méthode pour déterminer la page affichée par l’utilisateur lorsqu’il revient de l’envoi.

    Tableau 13. Paramètres
    Nom Type Description
    URL Objet URI à définir comme emplacement de retour après l’achèvement d’une action d’interface utilisateur. Vous pouvez fournir l’URL sous forme de chaîne ou de GlideRecord.
    Tableau 14. Renvoie
    Type Description
    nul

    L’exemple suivant permet à l’utilisateur de sélectionner l’action d’interface utilisateur pour créer un enregistrement de changement à l’aide des informations tirées de l’enregistrement de problème et du modèle de changement. Après le changement, l’utilisateur revient à la vue actuelle . Pour plus d’informations, consultez Modèles scriptés. Pour plus de cas d’utilisation, reportez-vous à Task relationships with UI actions.

    var change = new GlideRecord("change_request");
    change.initialize();
    change.short_description = current.short_description;
    change.description = current.u_details;
    change.cmdb_ci = current.u_service;
    change.priority = current.priority;
    change.requested_by = current.caller_id;
    change.assignment_group.setDisplayValue('Change & Release');
    change.u_status = 'New';
    change.parent = current.number;
    change.applyTemplate("standard_rfc");
    current.rfc = change.insert();
    current.comments = 'Change ' + change.number + ' created.';
    
    var mySysID = current.update();
    
    gs.addInfoMessage("Change " + change.number + " created");
    action.setRedirectURL(change);
    action.setReturnURL(current);

    action : setURLParameter(String parameterName, String parameterValue)

    Définit un nom et une valeur de paramètre d’URL.

    Tableau 15. Paramètres
    Nom Type Description
    parameterName Chaîne Nom du paramètre d’URL.
    parameterValue Chaîne Valeur du paramètre.
    Tableau 16. Renvoie
    Type Description
    nul
    action.setURLParameter('sysparm_query', 'priority=2^active=true');