Scripts
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
vraioufauxpour 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
| 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 → |
| 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.