CatalogItemVariableSetM2M : dans le champ d’application

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 4 minutes de lecture
  • L’API CatalogItemVariableSetM2M fournit des méthodes qui vous permettent de créer et de modifier des jeux de variables plusieurs-à-plusieurs (M2M) d’éléments de catalogue de services à l’aide de scripts.

    Cette API s’exécute dans l’espace de noms sn_sc .

    CatalogItemVariableSetM2M : create(Boolean standardUpdate)

    Insère le jeu de variables d’élément de catalogue défini M2M.

    Tableau 1. Paramètres
    Nom Type Description
    Mise à jour standard Booléen Marqueur indiquant s’il faut activer l’exécution des moteurs et du workflow.
    Valeurs valides :
    • true : activer les moteurs et le workflow.
    • faux : n’activez pas les moteurs et le workflow.
    Tableau 2. Renvoie
    Type Description
    Chaîne Sys_id de l’enregistrement de variable insérée.

    Cet exemple ajoute le jeu de variables Questions standard des employés à l’élément de catalogue de l’iPhone 6s et crée un enregistrement les liant dans la table Jeux de variables de catalogue [io_set_item].

    var cat_item_sys_id = 'bd6fa75a4f334200086eeed18110c79e'; // catalog item - iPhone 6s
    var variable_set_sys_id = 'e01cab1a4f334200086eeed18110c71f'; // variable set - Standard Employee Questions
    var app_scope = 'global'; // sys_id id in case of scoped app
    var varset = new sn_sc.CatalogItemVariableSetM2M();
    var attr = {
        'variable_set': variable_set_sys_id, // required
        'sc_cat_item': cat_item_sys_id, // required
        'sys_scope': app_scope, // optional
        'order': 10 // optional
    };
    varset.setAttributes(attr);
    var m2mRec = varset.create(true);
    gs.info('Variable set added to catalog item and M2M record created in table io_set_item with sys_id ' + m2mRec);

    Sortie :

    Variable set added to catalog item and M2M record created in table io_set_item with sys_id c5c87af187eb30103a730f2d0ebb3578

    CatalogItemVariableSetM2M : deleteRecord(Boolean standardUpdate)

    Supprime le jeu de variables d’éléments de catalogue défini M2M.

    Tableau 3. Paramètres
    Nom Type Description
    Mise à jour standard Booléen Marqueur indiquant s’il faut activer l’exécution des moteurs et du workflow.
    Valeurs valides :
    • true : activer les moteurs et le workflow.
    • faux : n’activez pas les moteurs et le workflow.
    Tableau 4. Renvoie
    Type Description
    nul

    Cet exemple supprime le jeu de variables Questions standard des employés de l’élément de catalogue de l’iPhone 6s et supprime l’enregistrement qui les lie dans la table Jeux de variables de catalogue [io_set_item].

    var vset = new GlideRecord('io_set_item');
    vset.addQuery('sc_cat_item', 'bd6fa75a4f334200086eeed18110c79e'); // catalog item - iPhone 6s
    vset.addQuery('variable_set', 'e01cab1a4f334200086eeed18110c71f'); // variable set - Standard Employee Questions
    vset.query();
    if (vset.next()) {
        var varset = new sn_sc.CatalogItemVariableSetM2M(vset.getUniqueValue()); // pass sys_id of io_set_item record
        varset.deleteRecord(true);  
    }

    CatalogItemVariableSetM2M : lecture (colonnes d’objet, booléen standardUpdate)

    Renvoie un mappage des valeurs d’attributs M2M du jeu de variables d’éléments de catalogue.

    Tableau 5. Paramètres
    Nom Type Description
    colonnes Objet Ensemble de colonnes pour lesquelles vous souhaitez obtenir les valeurs.
    Mise à jour standard Booléen Marqueur indiquant s’il faut activer l’exécution des moteurs et du workflow.
    Valeurs valides :
    • true : activer les moteurs et le workflow.
    • faux : n’activez pas les moteurs et le workflow.
    Tableau 6. Renvoie
    Type Description
    Objet Un objet mappant les noms de colonnes aux valeurs.

    Cet exemple lit tous les jeux de variables utilisés par l’élément de catalogue de l’iPhone 6s.

    var vset = new GlideRecord('io_set_item');
    vset.addQuery('sc_cat_item', 'bd6fa75a4f334200086eeed18110c79e'); // catalog item - iPhone 6s
    vset.query();
    while (vset.next()) {
        var varset = new sn_sc.CatalogItemVariableSetM2M(vset.getUniqueValue()); // pass sys_id of io_set_item record
        //add the fields you want to read from the record
        var attr = {
            'sys_name': '', // optional
            'sys_scope': '', // optional
            'order': '' // optional
        };
        var m2mRec = varset.read(attr, true);
        gs.info(JSON.stringify(m2mRec));
    }

    Sortie :

    {"sys_name":"HTML Description.iPhone 6s","sys_scope":"global","order":"10"}
    {"sys_name":"Standard Employee Questions.iPhone 6s","sys_scope":"global","order":"20"}
    

    CatalogItemVariableSetM2M : setAttributes(attributs d’objet)

    Définit les valeurs d’attribut pour le jeu de variables M2M de cet élément de catalogue.

    Tableau 7. Paramètres
    Nom Type Description
    attributs Objet Un objet mappant les noms de colonnes aux valeurs.
    Tableau 8. Renvoie
    Type Description
    nul

    Cet exemple ajoute le jeu de variables Questions standard des employés à l’élément de catalogue de l’iPhone 6s et crée un enregistrement dans la table Jeux de variables de catalogue [io_set_item].

    var cat_item_sys_id = 'bd6fa75a4f334200086eeed18110c79e'; // catalog item - iPhone 6s
    var variable_set_sys_id = 'e01cab1a4f334200086eeed18110c71f'; // variable set - Standard Employee Questions
    var app_scope = 'global'; // sys_id id in case of scoped app
    var varset = new sn_sc.CatalogItemVariableSetM2M();
    var attr = {
        'variable_set': variable_set_sys_id,
        'sc_cat_item': cat_item_sys_id,
        'sys_scope': app_scope,
        'order': 10
    };
    varset.setAttributes(attr);
    var m2mRec = varset.create(true);
    gs.info('Variable set added to catalog item and M2M record created in table io_set_item with sys_id ' + m2mRec);

    Sortie :

    Variable set added to catalog item and M2M record created in table io_set_item with sys_id c5c87af187eb30103a730f2d0ebb3578

    CatalogItemVariableSetM2M : update(Object, columnValues, booléen, standardUpdate)

    Met à jour le jeu de variables d’éléments de catalogue actuel M2M avec les valeurs définies.

    Tableau 9. Paramètres
    Nom Type Description
    columnValues Objet Un objet mappant les noms de colonnes aux valeurs.
    Mise à jour standard Booléen Marqueur indiquant s’il faut activer l’exécution des moteurs et du workflow.
    Valeurs valides :
    • true : activer les moteurs et le workflow.
    • faux : n’activez pas les moteurs et le workflow.
    Tableau 10. Renvoie
    Type Description
    nul

    Cet exemple met à jour l’ordre du jeu de variables Questions standard des employés pour l’élément de catalogue de l’iPhone 6s.

    var vset = new GlideRecord('io_set_item');
    vset.addQuery('sc_cat_item', 'bd6fa75a4f334200086eeed18110c79e'); // catalog item - iPhone 6s
    vset.addQuery('variable_set', 'e01cab1a4f334200086eeed18110c71f'); // variable set - Standard Employee Questions
    vset.query();
    if (vset.next()) {
        var varset = new sn_sc.CatalogItemVariableSetM2M(vset.getUniqueValue()); // pass sys_id of io_set_item record
        var attr = {
            'order': '30' // update order to 30
        };
        varset.update(attr, true);
        var readAttr = {
            'sys_name': '',
            'order': '' 
        };
        var m2mRec = varset.read(readAttr, true); // read the record to confirm the update 
        gs.info(JSON.stringify(m2mRec));
    }

    Sortie :

    {"sys_name":"Standard Employee Questions.iPhone 6s","order":"30"}