Scripts

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 2 minutes de lecture
  • Découvrez comment le scripting va au-delà CPQ des règles simples : découvrez où les scripts s’exécutent, ce qu’ils renvoient et comment les utiliser pour modéliser une logique de configuration avancée de manière sûre et efficace.

    Le scripting est plus efficace CPQ lorsque la logique de configuration nécessite plus de flexibilité que de simples règles. Les administrateurs peuvent utiliser des scripts pour calculer des valeurs complexes, évaluer des conditions ou manipuler dynamiquement les données produit. Des scripts sont disponibles dans les conditions de règle, les actions et les enrichissements de plan pour l’initialisation, la validation ou la tarification.

    Le scripting complète, mais ne remplace pas, les options déclaratives. Utilisez d’abord les règles standard, les extensions de liste déroulante et les sélecteurs de produits. Réservez le scripting aux scénarios spécialisés.

    Où pouvez-vous utiliser des scripts

    • Conditions de règle : Renvoie vrai ou faux pour déterminer si les actions s’exécutent.
    • Actions de règle : définissez des valeurs de champ, masquez ou affichez des éléments ou créez des listes de produits de manière dynamique.
    • Enrichissements de plans : initialisez les données, appelez des systèmes externes ou enrichissez les configurations lors d’événements « À la configuration » ou « Reconfiguration ».

    Chaque type de script nécessite une valeur de retour spécifique pour garantir des résultats prévisibles.

    Valeurs de retour attendues

    Tableau 1. Valeurs de retour attendues
    Type de script Format de retour Exemple
    Condition avancée Booléen vrai ou faux
    Masquage avancé Chaîne « field_to_hide »
    Détermination du champ Dépend du type de champ Nombre → 5 ; Le texte → « Rouge » ; Sélection multiple →
    ["Option1",
                  "Option2"]
    Inclusion et exclusion Tableau ["OptionA », « OptionB"]
    Action du produit Objet ProductList ProductList.add({id :"123 », qté :2})
    Enrichissement Objet de configuration mis à jour renvoyer cfgRequest ;

    Objets de configuration

    Les scripts interagissent avec les objets de configuration suivants :

    • cfg : instantané en lecture seule des valeurs de champ actuelles utilisées par les règles.
    • cfgRequest : un objet accessible en écriture disponible dans Enrichments ; Utilisez .set(« value », x) pour modifier les champs.
    • Liste de produits : Utilisé pour ajouter ou modifier des éléments dans la nomenclature (BOM).

    Vous pouvez référencer les propriétés à l’aide de la notation à points ou entre parenthèses (cfgRequest.fieldName ou cfgRequest["fieldName"]).

    Utilisation de données externes

    Utilisez les données externes pour améliorer les configurations de manière dynamique :

    • Tables gérées : interrogez les données avec lookup() pour mapper les résultats dans des champs ou des produits.
    • Connexions externes : effectuez des appels approuvés (par exemple, des requêtes SOQL vers Salesforce) pour renseigner les ensembles ou les valeurs de champ dans les enrichissements.

    Ces techniques réduisent la logique codée en dur et centralisent la gestion des données.

    Débogage et test

    L’interface de scripting comprend des outils intégrés :

    • Suggestions de code : saisie automatique pour les fonctions, les variables et les champs.
    • Panneau d’aide : répertorie toutes les fonctions et paramètres pris en charge avec des exemples.
    • Débogueur : accepte l’entrée JSON et affiche les résultats de sortie et console.log(). Enregistrez les entrées de test courantes sous forme de commentaires pour réutilisation.

    Directives générales

    • Préférez les règles déclaratives lorsque cela est possible.
    • Gardez les scripts concis et concentrés sur une seule tâche.
    • Toujours renvoyer le type de données attendu.
    • Utilisez des noms de variables et des commentaires clairs.
    • Évitez la logique imbriquée ou conditionnelle longue : utilisez plutôt des tables ou des connexions externes.