Barèmes
Introduction
Actuellement les barèmes n'existent que pour le module Ventes et permettent de créer des règles de calcul uniquement à partir de l'objet SaleOrderLine. A terme, l'objectif est de pouvoir créer des règles de calcul pour tout type d'objet comme déterminer une date de livraison en fonction du type de livraison, de la période de l'année et du poids de la livraion par exemple.
Configuration : afin de pouvoir utiliser les barèmes dans AOS, il faut tout d’abord activer la configuration générale des barèmes dans Config applicative → Gestion des applications → Ventes → Configurer → Activer les barèmes.
Qu'est ce qu'un barème dans AOS ?
Un barème dans AOS, permet de créer des règles de calculs pour évaluer un champ (un entier, un décimal, une date, ....) d'un objet (une ligne de commande, une commande, un devis, un mouvement de stock, ...) en fonction de paramètres (appelé règle de classification).
Les barèmes s'appliquent aussi lorsque le produit est ajouté comme objet complémentaire.
Exemple fonctionnel d'un barème
Voici un exemple d'utilisation fonctionnel d'un barème.
Par exemple, vous souhaitez automatiquement modifier le prix d'une ligne de commande pour y ajouter le coût de livraison. Dans cette situation vous pouvez utiliser un barème.
Vous savez quel prix est appliqué en fonction du transporteur et du mode d'expédition choisi et du poids total de la commande. Vous savez aussi que si votre livraison passe par un transitaire, le prix de livraison est augmenté d'un coefficient supplémentaire.
Dans ce cas il est conseillé d'utiliser un barème, voire deux.
Dans le premier barème indiquez :
- Le transporteur comme règle de classification 1 ;
- Le mode d'expédition comme règle de classification 2 ;
- Le poids total de la commande comme règle de classification 3 (avec l'opérateur " > ") ;
- Le prix comme règle de résultat 1, qui sera un prix fixe dépendant uniquement des classifications.
Dans le deuxième barème :
- Le transitaire comme règle de classification 1 ;
- Le pourcentage suplémentaire comme règle de résultat 1 : dont la formule viendra ajouter au prix de la commande le prix de la règle de résultat 1 du précédent barème, auquel il faudra ajouter le pourcentage de cette règle de résultat 1.
Lignes des barèmes 1 & 2. Cette image sert à titre d'illustration pour l'exemple fonctionel.
Par exemple, si vous avez une commande utilisant Mondial Relay en livraison à domicile avec un poids ne dépassant pas 10kg et passant par un Transitaire, le prix de 12 (8*1.5) sera ajouté à la ligne de commande.
Les différents attributs d'un barème dans AOS
Le Barème
Configuration : la configuration des barèmes dans AOS se fait dans le module Ventes dans le menu Barême.
Accès : Ventes → Barème → créez une nouvelle fiche de barème
Les informations générales sur la fiche de barème
Sur la nouvelle fiche de barème, indiquez les informations nécessaires.
-
Nom : le nom que vous souhaitez donner à votre barème afin de pouvoir l'utiliser.
-
La Société : société pour laquelle s'applique le barème.
-
La Date de début : date à partir de laquelle le barème sera pris en compte.
-
L'Objet concerné : objet sur lequel s'applique le barème.
Limitation actuelle : l'objet concerné comprend actuellement uniquement l'objet SaleOrderLine.
Les Règles de barème
Le terme règle de barème englobe les règles de classification et de résultat des barèmes.
Configuration : la configuration des règles de barème dans AOS se fait dans le module du barème.
Accès : Ventes → Configuration → Règles de barème
Les Règles de classification
Les règles de classification permettent de "filtrer les entrées" du barème. Une règle de classification peut être établie grâce à un texte, un entier ou un décimal établi par une formule et qui sera comparé à la valeur donnée dans le barème.
Vous pouvez en créer jusqu'à 4.
Les règles de classification sont appliquées dans l'ordre; c'est-à-dire qu'AOS vérifie d'abord que l'objet vérifie la règle de classification 1, puis la règle de classification 2 et ainsi de suite jusqu'à la 4.
Limitation actuelle : actuellement, si vous entrez dans un cas d’utilisation d’un barème mais que vous n’entrez dans aucune des règles de classification, la dernière ligne de règle s’applique.
Si vous utilisez un produit ou une catégorie de produit en appliquant les barèmes, mais que vous constatez que vous n’entrez dans aucune des règles de classification, un message d’erreur apparaîtra pour vous avertir qu'aucun barème n’est appliqué.
Les Règles de résultat
Les règles de résultat, permettent de "calculer les sorties" du barème. Cette règle peut être une valeur constante (exemple : un coefficient, un pourcentage, ...) ou une formule à appliquer. Il est également possible d'utiliser une règle de résultat précédente ou les éléments des règles de barème précédents ou suivants.
Vous pouvez en créer jusqu'à 4.
Limitation actuelle : il n'est pour l'instant possible que d'établir un barème précédent dans AOS. En outre, l'utilisation des éléments de barèmes précédents ou suivants n'est actuellement possible que sur une profondeur de 1.
Le Produit / Modèle de produit
Si vous choisissez d'appliquer votre barème à un produit ou un modèle de produit, sachez que vous ne pourrez pas l'appliquer à une catégorie de produit.
La Catégorie produit
Si vous choisissez d'appliquer votre barème à une catégorie de produit, vous ne pourrez pas l'appliquer à un produit ou un modèle de produit particulier, mais ce barème s'appliquera à tous les produits, modèles de produit de la catégorie et de ses sous-catégories.
Si il existe un barème pour une catégorie et une de ses sous-catégories, le barème qui sera pris en compte pour un objet appartenant à ces deux catégories, sera celui de la catégorie la plus basse.
Le Barème précédent / suivant
Le barème précédent ou suivant permet de lancer un autre barème avant ou après le barème que vous créez. Ce champs vous permettra d'utiliser les valeurs contenue dans les sous barèmes.
Limitation actuelle : pour le moment l'utilisation des valeur des sous barèmes n'est possible que pour une profondeur de 1. En outre, il n'est pour l'instant possible que d'établir un barème précédent dans AOS.
Les lignes de barème
Les lignes de barème vous permettent d'établir les valeurs, auquelles doivent être comparées les valeurs paramétrées dans les règles de classification. En parallèle, les lignes de barème permettent d'établir les valeurs qui peuvent être utilisées dans les règles de résultat.
Les Règles de barème
Le terme règle de barème englobe les règles de classification et de résultat des barèmes.
Configuration : la configuration des règles de barème dans AOS se fait dans le module du barème.
Accès : Ventes → Configuration → Règles de barème
Les informations générales sur la fiche d'une règle de barème
Sur la nouvelle fiche d'une règle de barème, indiquez les informations nécessaires.
-
Nom : le nom que vous souhaitez donner à votre règle de barème afin de pouvoir l'utiliser.
-
La Société : société pour laquelle s'applique la règle de barème.
-
L'Objet concerné : objet sur lequel s'applique la règle de barème.
Limitation actuelle : l'objet concerné comprend actuellement uniquement l'objet SaleOrderLine.
-
Le Type : le type de règle de barème, Classification ou Résultat. Il faut savoir que des champs sont liés au type Classification.
-
Le Type du champ : le type du champ qui sera donné dans le barème, par exemple Nombre entier, Chaîne de caractère, Décimal.
Opérateur (pour les champs de type Nombre entier et Décimal)
Opérateur de comparaison du champ donné dans le barème et du champ pointé par la fonction.
L'opérateur compare la valeur donnée dans le barème au résultat de la formule. (valeur donnée dans le barème [opérateur] résultat de la formule).
La formule
Le language utilisé dans les formules est le groovy.
Pour une règle de barème de type Classification la formule permet de créer une formule groovy dont le résultat sera comparé à la valeur du champ donné dans le barème.
L'utilisation des décimaux est mal gérée par le groovy.
Champs liés au type Résultat & la formule
Le language utilisé dans les formules est le groovy.
L'utilisation des décimaux est mal gérée par le groovy.
Pour une règle de barème de type Résultat : la formule permet de créer une formule groovy dont le résultat sera soit "stocké" soit "envoyé".
Formules utiles :
pricingLine.classificationParamX
: valeur de la Xème colonne de règle de classification (avec 1 ≤ X ≤ 4).
pricingLine.resultParamX
: valeur de la Xème colonne de règle de résultat (avec 1 ≤ X ≤ 4).
Pour utiliser les colonnes d'un barème précédent ou suivant, utilisez previousPricingLine.classificationParamX
ou previousPricingLine.resultParamX
Limitation actuelle : difficulté de gestion des bigDecimal dans les formules groovy.
Le Champ à remplir
Le champ vers lequel le résultat sera envoyé dans l'objet concerné par la règle de résultat.
Limitation actuelle : il n'est pour l'instant possible d'utiliser des champs JSON dans les barèmes.
Les logs des barèmes (v 6.3)
Afin de faciliter le suivi des barèmes, lorsqu’ils sont utilisés dans une ligne de commande, il est possible de retrouver les logs du barème dans l’onglet "Configuration" de la ligne de commande (depuis la version 6.3 d’AOS). Par exemple, ouvrez un devis ou une commande de client (module Ventes), ensuite, cliquez sur une Ligne de détail (onglet Contenu), et après sur l'onglet Ligne Commande Ventes, cliquez sur l'onglet Configuration.
Comment utilser un barème dans AOS ?
Pour cet exemple il faut reprendre le contexte précédement établi dans l'exemple fonctionnel.
Voici un exemple d'utilisation fonctionnel d'un barème.
Imaginez que vous souhaitez automatiquement modifier le prix d'une ligne de commande pour y ajouter le coût de livraison. Dans cette situation vous pouvez utiliser un barème.
Vous savez quel prix est appliqué en fonction du transporteur et du mode d'expédition choisi et du poids total de la commande. Vous savez aussi que si votre livraison passe par un transitaire, le prix de livraison est augmenté d'un coefficient supplémentaire.
Dans ce cas vous pouvez utiliser un barème, et même deux.
Dans le premier barème vous aurez :
- Le transporteur comme règle de classification 1 ;
- Le mode d'expédition comme règle de classification 2 ;
- Le poids total de la commande comme règle de classification 3 (avec l'opérateur " > ") ;
- Le prix comme règle de résultat 1 qui sera un prix fixe dépendant uniquement des classifications.
Dans le deuxième barème nous aurons :
- Le transitaire comme règle de classification 1 ;
- Le pourcentage suplémentaire comme règle de résultat 1 : dont la formule viendra ajouter au prix de la commande le prix la règle de résultat 1 du précédent barème, auquel s'ajoutera le pourcentage de cette règle de résultat 1.
Si vous avez une commande utilisant Mondial Relay en livraison à domicile avec un poids ne dépassant pas 10kg et passant par un Transitaire, le prix de 12 (8*1.5) sera ajouté à la ligne de commande.
Lignes des barèmes 1 & 2. Cette image sert à titre d'illustration pour l'exemple fonctionel.
Paramétrer les règles de barème
Configuration : la configuration des règles de barème dans AOS se fait dans le menu du module Ventes → Configuration → Règles de barême → ajoutez une nouvelle règle. Sur la fiche de la règle de barème, séléctionnez le type de règle (Classification ou Résultat).
Paramétrer les règles de classification
La première règle de classification
- Pour le type de transporteur
Explication de la formule : si le transporteur (carrierPartner
) de la commande (saleOrder
) de votre objet concerné (SaleOrderLine
) n'est pas défini, vous comparez la valeur donnée dans le barème à None
, sinon vous comparez la valeur donnée dans le barème à le nom (fullName
) du transporteur de la commande de votre ligne de commande.
- Pour le mode d'expédition
Explication de la formule : si le mode d'expédition (shipmentMode
) de la commande (saleOrder
) de votre objet concerné (SaleOrderLine
) n'est pas défini, vous comparez la valeur donnée dans le barème à "None
" sinon, vous comparez la valeur donnée dans le barème à le nom (name
) du mode d'expédition de la commande de notre ligne de commande.
- Pour le poids total de la commande
Explication de la formule : si la somme (.sum()
) du produit de la quantité par la masse nette (it?.qty * it?.product.netMass
) de l'ensemble des lignes de commande (saleOrderLineList.collect()
) de la commande (saleOrder
) de votre objet concerné (SaleOrderLine
) est inférieure a la valeur donnée dans le barème (valeur donnée dans le barème > résultat de la formule).
La deuxième règle de classification
- Pour la présence ou non de transitaire
Explication de la formule : si le transitaire (forwarderPartner
) de la commande (saleOrder
) de votre objet concerné (SaleOrderLine
) n'est pas défini, vous comparez la valeur donnée dans le barème à "false
" sinon, vous comparez la valeur donnée dans le barème à "true
".
Paramétrer les règles de résultat
La première règle de résultat
- Pour le prix de transport
Explication de la formule : vous auriez pu ne rien mettre dans la formule, cette règle de résultat vous servira uniquement lors du calcul du barème suivant.
La deuxième règle de résultat
- Pour le coefficient du transitaire
Explication de la formule : ajoutez au prix du produit (product.salePrice
) la valeur donnée dans la première colonne résultat du barème précédent (previousPricingLine.resultParam1
) que vous multipliez par la valeur donnée dans la première colonne résultat du barème actuel (pricingLine.resultParam1
).
Paramétrer les barèmes
Configuration : la configuration des barèmes dans AOS se fait dans le module Ventes dans le menu Barème.
Achats → Barème → cliquez sur Nouveau → renseignez les informations pour le premier barème. Sachez qu'il faut configurer au préalable les règles de barèmes afin de pouvoir les appliquer sur la fiche du barème.
Achats → Barème → cliquez sur Nouveau → renseignez les informations pour le deuxième barème. Sachez qu'il faut configurer au préalable les règles de barèmes afin de pouvoir les appliquer sur la fiche du barème.
Résultat d'une commande utilisant le barème
Achats → Commande client → cliquez sur l'onglet Livraison → paramétrez la livraison de la commande.
Achats → Commande client → cliquez sur l'onglet Contenu → consultez dans les Lignes de détails le prix de l'imprimante (prix : 341 (=329+8*1.5)).
Config applicative → Référentiel → Produits → Articles → ouvrez une fiche produit pour configurer / consulter son prix. Ici, la fiche produit de l'imprimante (prix : 329).