Cas d’utilisation du gestionnaire de transaction : calculer le total des prix au niveau de la ligne
Transaction Manager peut inclure une règle de détermination qui calcule la somme des prix nets au niveau de la ligne afin qu’elle puisse être stockée dans un champ au niveau de l’en-tête.
Dans CPQ Transaction Manager, vous pouvez utiliser une règle de détermination pour calculer la somme des prix nets totaux au niveau de la ligne et stocker le résultat dans un champ au niveau de l’en-tête. Cela est particulièrement utile lorsque plusieurs champs doivent être agrégés des éléments de ligne à l’en-tête de transaction.
Exemple de configuration de règle
- Type d’action de règle : règle de détermination
- Point de déclenchement : après les mises à jour au niveau de la ligne (c’est-à-dire lorsque des éléments de ligne sont ajoutés, supprimés ou mis à jour)
- Champ d’application : en-tête de transaction
Étapes pour créer et utiliser la règle
- Assurez-vous qu’il existe un champ au niveau de l’en-tête.
Vous pouvez également créer un champ personnalisé (par exemple, txn.custom.totalList) dans la section Champ associé où la somme doit être stockée.
- Créez une règle au niveau de l’en-tête avec la condition appropriée pour laquelle la règle sera exécutée.
- Définissez le type d’action sur Détermination.
- Dans Utiliser cette valeur, définissez Avancé sur vrai et tapez un script avancé pour calculer les champs.
Par exemple, calculez la somme agrégée du prix catalogue de chaque élément de ligne. Pour calculer le prix catalogue total, nous utilisons la fonction
sumFieldpour calculer tous les prix catalogue au niveau de la ligne dans un seul champ. - Enregistrez et activez la règle afin qu’elle s’applique en temps réel pendant le cycle de vie de la transaction.
- Pour tester la règle, créez une transaction et ajoutez des éléments de ligne avec des prix nets variables.
Vérifiez que la somme des prix nets au niveau de la ligne est correctement calculée et affichée dans le champ au niveau de l’en-tête.
Autres exemples
Voici deux autres exemples de calculs de niveau de ligne stockés dans un champ de niveau d’en-tête.
- Montant de remise global
Script avancé :
return txn.line.functions.sumField(txn.line.custom.listUnitPrice) - txn.line.functions.sumField(txn.line.pricing.extendedNet) ; - Total Net
Script avancé :
return txn.line.functions.sumField(txn.line.pricing.extendedNet) ;