Calcul du/des prix en fin de scénario
Un scénario commercial est constitué de plusieurs contextes. Pour chaque contexte, il est possible de définir plusieurs tarifs (tarif client, tarif général, tarif de « revient », etc.). Pour chacun de ces tarifs, une ou plusieurs « Natures de Tarifs » sont créées (par exemple, pour le tarif client du contexte menuiserie, on peut créer une nature de tarif liée à la menuiserie générale, une autre pour le bloc volet roulant et une dernière pour les accessoires et options).
Dans cette nouvelle version, il a été introduit une notion de version de tarif et de catalogue de tarif. Cette nouvelle fonction permet de définir des catalogues de tarifs annuels, mais aussi de gérer des modifications de prix ponctuelles (promotions).
Sur chaque nature, sont rattachés un ou plusieurs enregistrements appelés « code tarif », correspondant chacun à une grille de tarif. C’est sur les codes tarifs qu’est appliquée la motion de catalogue de tarif. Il est possible de créer plusieurs fois le même code tarif, mais qui renvoie à un catalogue de tarif différent, et donc à des prix de base différents. Le catalogue de tarif servira à déterminer si le code tarif est valide ou non, tout comme une condition. Chaque enregistrement contient un code tarif (obtention du prix de base) et plusieurs codes de plus-values (obtention des plus-values). A noter que seul le premier code tarif valide sera pris en compte pour une nature de tarif. Le tarif final est obtenu à la validation de la commande, en effectuant la somme des différents prix de base et des différentes plus-values attribuées et validées pour tous les contextes créés.
Le paramétrage des tarifs calculés en sortie de contexte se fait via le Tableur Dynamique de maintenance du scénario commercial IScDetSceT. Il est aussi possible de maintenir les codes tarif et les plus-values avec les tableurs dynamiques IScCodTarT et IScCodPV.
Accès à la gestion des prix
L’accès au tableur de visualisation des tarifs se fait à partir du tableur dynamique IScDetSceT.
Ce tableur synthétise l’ensemble des tarifs rattachés au contexte en cours. Des actions permettent de gérer toutes les composantes du prix de vente (Types de tarif, codes tarif, prix de base et plus ou moins-values).
L’action Création code tarif / contexte : permet de définir un nouveau tarif à appliquer en sortie de contexte (nature tarif - code tarif – plus-values à appliquer).
L’action Modification code tarif / contexte : permet de modifier le code tarif sélectionné (désignation, code tarif à y rattacher, plus-values). Cependant, il n’est pas possible de modifier depuis cette action le détail des paramètres de la matrice du code tarif, car celle-ci peut être utilisée sur différents contextes. La modification du modèle doit être effectuée à partir de l’action modification du Code Tarif.
L’action Gestion type tarif : permet de gérer les types de tarif et d’y lier des natures de tarif.
L’action Définition code tarif : cette action permet de définir un «modèle» de code tarif qui pourra être rattaché par la suite à la définition d’une autre nature de tarif. Les paramètres du code tarif (contraintes de la matrice, formule de type Mètre linéaire ainsi que les paramètres Hauteur Largeur Excel) seront repris automatiquement.
L’action Modification code tarif : cette action permet de modifier un «modèle» de code tarif. Les modifications seront reportées automatiquement pour l’ensemble des tarifs rattachés à ce code tarif.
L’action Maintenance prix de base : permet de créer et de modifier les grilles déterminant le prix de base, directement dans Diapason ou via Excel.
L’action Familles de plus-values liées : permet d’accéder au tableur de gestion des plus-values.
Remarque : Il est possible de définir directement une nouvelle nature de tarif depuis le tableur de synthèse ci-dessus, dans la mesure ou l’on sélectionne un code tarif existant.
Définition des types de tarif
Création d’un type de tarif
La définition des types de tarifs se fait depuis le tableur de visualisation des tarifs, en sélectionnant l’action « Gestion Types Tarifs ».
Le plugin de configuration permet de calculer un ou plusieurs types de tarif. Chaque tarif peut avoir sa propre méthodologie de calcul :
Faut-il effectuer une recherche de grille de tarif au titre du client, au titre du réseau, au titre d’une période, ou bien faut-il effectuer un calcul hiérarchique ?
Quelle est la version de tarif à prendre en compte ?
Quelle date d’application est à prendre en compte ?
…
Principe Calcul Non Hiérarchique :
Cette méthode de calcul, permet d’effectuer la recherche successive de tarifs spécifiques clients (si activé), puis réseau si rien n’est trouvé ( et si activé), puis par période si rien n’est trouvé ( et si activé) et enfin pour le tarif de base en dernier lieu.
Principe calcul Hiérarchique :
Cette méthode de calcul, si elle est activée, permet d’effectuer la recherche successive de tarifs spécifiques clients pour plusieurs clients suivant un ordre paramétrable.
Dans le cas contraire le calcul de tarif permet de rechercher un tarif spécifique pour le client rattaché à la commande, puis le réseau si aucun prix client n’a été trouvé, et enfin le tarif général si rien n’est défini pour le réseau.
Le calcul hiérarchique permet d’effectuer des recherches successives de tarifs spécifiques clients suivant l’ordre des clients spécifié par le champ IScVbaHierPB (client1 ; client2 ;client3 ; etc.)
Recherche pour le client1, si rien n’est trouvé recherche pour le client2, si rien n’est trouvé recherche pour le client3 …
Si rien n’est trouvé pour les clients définis, une recherche de prix sera effectuée pour le tarif de base.
Les clients spécifiés ne doivent pas nécessairement exister dans la Diapason. Les outils de maintenance des définitions des grilles clients effectuent un contrôle d’existence du client spécifié à partir de la liste de valeur sur RCT définie par le paramètre Plugin : Commande/MotScen/HierarchieClient.
Si rien n’est défini dans ce paramètre, la recherche est effectuée à partir des clients Diapason.
Ce tableur est composé des champs suivants :
N° Ordre | Donne l’ordre de calcul des différents tarifs |
Type Tarif | Référence du type de tarif à calculer |
Désignation Type Tarif | Désignation du type de tarif |
Condition | Condition permettant de contraindre l’exécution du calcul du prix pour le type de tarif en cours. Le calcul de ce type de tarif sera fait uniquement si la condition est remplie. |
Calcul Hiérarchique ? | L’activation de ce statut permet d’effectuer des recherches de tarifs spécifiques clients suivant une liste de clients donnée pour le calcul de prix de base ainsi que les calculs des PV (colonne VBA.Hierarchie / prix base et VBA.Hierarchie / PV). |
Recherche Prix /Client | A cocher si on doit rechercher un prix particulier par rapport au client rattaché à la commande pour ce type de tarif |
Recherche Prix /Réseau | A cocher si on doit rechercher un prix particulier par rapport au réseau rattaché à la commande pour ce type de tarif |
Recherche prix / version par date | A cocher si on doit rechercher un prix particulier par rapport à la version de tarif rattachée à la commande pour ce type de tarif |
Réf VBA Prix de Base | Référence de la VBA qui stockera le prix de base du tarif pour chaque contexte |
Réf VBA Prix Plus-values du Tarif | Référence de la VBA qui stockera le prix des différentes plus-values appliquées à chaque contexte |
Réf VBA Prix Total Tarif | Référence de la VBA qui stockera le montant total du tarif pour chaque contexte |
Réf VBA Version Tarif | Référence de la VBA qui stockera la version du tarif pour chaque contexte |
Réf VBA date d’application tarif | Référence de la VBA qui stockera la date d’application du tarif pour chaque contexte. Si rien n’est précisé la date d’application tarif est initialisée à partir de la date de réception de la commande SDE.CdeDateRecep |
VBA.Hierarchie / Prix base | Référence de la VBA contenant la liste chaînée des clients pour lesquels un calcul hiérarchique Prix de Base doit être effectué. ( le statut calcul hiérarchique doit être activé) |
VBA.Hierarchie / PV | Référence de la VBA contenant la liste chaînée des clients pour lesquels un calcul hiérarchique PV doit être effectué. ( le statut calcul hiérarchique doit être activé) |
Création des natures de tarif et rattachement à un type tarif
Il est ensuite nécessaire de définir pour chacun des types de tarifs, les Natures et Codes Tarifs rattachées. Ce rattachement est obligatoire et conditionne la bonne exécution du calcul des tarifs. Ce lien permet de contraindre par type de tarif les natures de tarifs à prendre en compte. Il est ainsi possible, pour un type de tarif, de sélectionner ou d’évincer telle ou telle nature de tarif.
Attention : lors de la définition d’un nouveau code tarif lié à une nouvelle nature de tarif, aucun rattachement à un type de tarif n’est effectué par défaut. Ce rattachement est à effectuer manuellement pour que le tarif soit pris en compte dans le calcul de prix. Pour rattacher une nature de tarif à un type de tarif, il faut sélectionner l’action « lien nature tarif » dans le tableur de maintenance des types de tarif, en étant préalablement positionné sur le type de tarif concerné par le lien que l’on veut mettre à jour.
Ce tableur est composé des champs suivants :
Type Tarif | Référence du type de tarif pour lequel les natures de tarif sont à rattacher. |
Nature Code Tarif | Natures des codes tarif rattachés au type de tarif. Seules les natures indiquées seront prises en compte dans le calcul du type de tarif lié. |
Lorsque le rattachement est effectué, le statut « Liste Tarif Lié » contiendra la liste de tous types de tarifs liés à cette nature de tarif afin d’avertir l’utilisateur que ce tarif est rattaché à au moins un type de tarif.
Les natures de code tarif se définissent à partir du tableau de maintenance du lien entre le type et la nature de tarif, en choisissant l’action « Définition des natures de tarif ».
L’action nous envoie sur une table de valeurs où il faudra saisir la référence de la nature, ainsi que sa désignation.
Gestion des codes tarifs
Création d’un code tarif seul
Pour créer un code tarif seul, il faut utiliser l’action « Définition Code Tarif », disponible dans le tableur de visualisation des tarifs. Il est possible de modifier un code tarif après sa création en choisissant l’action « Modification Définition Code Tarif ». Ces actions vont lancer un formulaire de saisie qui permettra de définir les conditions d’application de ce code tarif et de maintenir le tableur de visualisation.
La définition d’un code tarif est exprimée sous forme matricielle dont les contraintes d’entrée caractère et numérique sont de type VBA ou Formule. Le code tarif définit la manière d’effectuer le calcul du prix de base du produit concerné. Plusieurs grilles de prix peuvent être rattachées à un code tarif, chacune étant liée à une période de validité (date début et date fin) ainsi qu’à un réseau ou un couple réseau/client dans le cas de tarifs spécifiques à un réseau commercial ou à un client.
Ce formulaire est composé des champs suivants :
Code Tarif | Code tarif appliqué. |
Désignation Code | Désignation du code Tarif |
Liste famille Plus-values | Liste des familles de plus-values appliquées à ce tarif |
Famille code tarif | Famille code tarif |
Sous-famille code tarif | Sous-famille code tarif |
Sous sous-famille code tarif | Sous sous-famille code tarif |
Catalogue tarif ou VBA | Référence du catalogue tarif ou VBA de stockage de cette référence. |
Nombre d’Entrées Caractères | Nombre total d’entrées de type caractère à utiliser pour ce code tarif. L’entête d’un tarif est composé de variables qui entreront en jeu dans le calcul du prix de base (de 0 à 8 entrées de type caractère et de 0 à 5 entrées de type numérique), les variables de type logique étant traitées comme des variables de type caractère. |
Type d’Entrée Caractère i | - VBA : l’entrée sera une variable - FOR : il est possible de définir des formules dites « manuelles » (cf. définition des matrices « manuelles ») |
Référence Entrée Caractère i | Référence de la VBA ou de la formule utilisée. |
Nombre d’Entrées Numériques | Nombre total d’entrées de type numérique à utiliser pour ce code tarif. Maximum 5 entrées. |
Accès de l’Entrée Numérique i | ≤, <, ≥, > ou = |
Type d’Entrée Numérique i | VBA ou FOR |
Référence Entrée Numérique i | Référence de la VBA ou de la formule utilisée. |
Formule (*Prix) | Cette cellule permet de renseigner la formule (coefficient multiplicateur) qui sera appliquée au résultat de la matrice de Prix. Exemple d’un tarif exprimé au mètre linéaire : la grille de tarif permet d’exprimer le prix au mètre linéaire, la formule permet de calculer le nombre de mètres linéaires à prendre en compte et de le multiplier au prix de base trouvé. |
Hauteur Matrice Excel | Cette cellule est à renseigner dans le cas où l’utilisateur souhaite maintenir sous Excel les grilles de tarif (avec une mise en forme de type Matricielle Hauteur – Largeur). Renseigner la contrainte numérique de la matrice tarif qui servira de « paramètre » Hauteur lors de la mise en forme sous Excel. |
Largeur Matrice Excel | Cette cellule est à renseigner dans le cas où l’utilisateur souhaite maintenir sous Excel les grilles de tarif (avec une mise en forme de type Matricielle Hauteur – Largeur). Renseigner la contrainte numérique de la matrice tarif qui servira de « paramètre » Largeur lors de la mise en forme sous Excel. |
Commentaire |
Création d’un code tarif / Contexte.
Le code tarif seul doit être rattaché à un contexte afin que le calcul s’effectue. Plusieurs codes tarif peuvent être rattachés à un même contexte (chaque code tarif exprimant une partie du prix final), et un même code tarif peut être rattaché à plusieurs contextes différents.
La définition d’un tarif en sortie de contexte exprime à la fois :
La nature du tarif (une même nature de tarif ne sera peut être prise en compte qu’une seule fois par contexte)
Le code tarif utilisé
Les familles plus-values à appliquer à la suite.
Pour rattacher un code tarif à un contexte, il faut sélectionner l’action « Création code tarif / Contexte ». On pourra, après validation de ce code tarif, le modifier à l’aide de l’action « Modification code tarif / Contexte ».
Ce formulaire est composé des champs suivants :
Référence Scénario | Scénario commercial pour lequel sera appliqué le tarif |
Modèle Contexte | Référence du contexte sur lequel sera appliqué le tarif |
Nature Code Tarif | Il est possible de regrouper les différents tarifs par nature (le premier tarif de la nature dont la condition d’application sera vérifiée sera calculé) |
Désignation Nature | Désignation de la nature rattachée au code tarif |
Numéro d’ordre | Ordre dans lequel seront testés les différents tarifs au sein d’une même nature |
Code Tarif | Code tarif appliqué. |
Désignation Code | Désignation du code tarif appliqué |
Liste famille Plus-values | Liste des familles de plus-values rattachées à ce tarif |
Famille code tarif | Famille code tarif |
Sous-famille code tarif | Sous-famille code tarif |
Sous sous-famille code tarif | Sous sous-famille code tarif |
Code Tarif Dynamique | VBA, VBP ou Code Tarif permettant de définir a l’exécution la référence du code tarif devant servir de grille de tarif. |
Catalogue tarif ou VBA | Référence du catalogue tarif ou VBA de stockage de cette référence. |
Condition | Si cette condition est valide, le tarif rattaché sera appliqué au contexte sélectionné |
Nombre d’Entrées Caractères | Nombre total d’entrées de type caractère à utiliser pour ce code tarif. Maximum 8 entrées. |
Type d’Entrée Caractère i | - VBA : l’entrée sera une variable - FOR : il est possible de définir des formules dites « manuelles » (cf. définition des matrices « manuelles ») |
Référence Entrée Caractère i | Référence de la VBA ou de la formule utilisée. |
Nombre d’Entrées Numériques | Nombre total d’entrées de type numérique à utiliser pour ce code tarif. Maximum 5 entrées. |
Type d’Entrée Numérique i | VBA ou FOR |
Référence Entrée Numérique i | Référence de la VBA ou de la formule utilisée. |
Accès de l’Entrée Numérique i | ≤, <, ≥, > ou = |
Formule (*Prix) | Cette cellule permet de renseigner la formule (coefficient multiplicateur) qui sera appliquée au prix résultat de la matrice de Prix. Exemple d’un tarif exprimé au mètre linéaire : la grille de tarif permet d’exprimer le prix au mètre linéaire, la formule permet de calculer le nombre de mètres linéaires à prendre en compte et de le multiplier au prix de base trouvé. La définition d’une formule dite de coefficient multiplicateur permet de déterminer une formule de type coefficient qui sera multipliée au prix de base trouvé. |
Hauteur Matrice Excel | Cette cellule est à renseigner dans le cas où l’utilisateur souhaite maintenir sous Excel les grilles de tarif (avec une mise en forme de type Matricielle Hauteur – Largeur). Renseigner la contrainte numérique de la matrice tarif qui servira de « paramètre » Hauteur lors de la mise en forme sous Excel. |
Largeur Matrice Excel | Cette cellule est à renseigner dans le cas où l’utilisateur souhaite maintenir sous Excel les grilles de tarif (avec une mise en forme de type Matricielle Hauteur – Largeur). Renseigner la contrainte numérique de la matrice tarif qui servira de « paramètre » Largeur lors de la mise en forme sous Excel. |
Commentaire |
Dans l’exemple ci-dessus, le tarif défini est composé du code tarif « PGP_PVC » et de la famille plus-values « PGPliante ». Le code tarif « PGP_PVC » permet d’obtenir le prix de base qui dépendra de la VBA S_Modele, à condition que la VBA S_Mat soit égale à PVC. Ce code tarif sera appliqué uniquement si le catalogue de tarif est valide pour la date mentionnée sur la ligne de commande.
Remarque : La formule de calcul de la référence du code tarif ( dynamique ) permet ainsi de minimiser le nombre d’éléments (grilles de tarif) à rattacher au une nature de tarif et de ce fait d’optimiser le calcul du tarif.
Maj variables après calcul de Grille
Cet outil de paramétrage des tarifs consiste à pouvoir effectuer des contrôles et des Initialisations de variables, y compris sur le montant venant d’être calculé, suite à chaque calcul de grille de tarif ou de PV (voir paragraphe PV).
Une nouvelle structure de paramétrage permet au titre d’une version ou de toutes les versions, d’une grille ou de toutes les grilles, de paramétrer des MAJ de variable.
Les Maj sont réalisées au titre des couples code tarif /version selon l’ordre suivant :
Version Tarif / Tous Codes Tarifs (*)
Si rien n’est trouvé pour la version tarif recherche avec Toutes versions (*) / Tous Codes tarifs (*)
Puis
Version Tarif / Code Tarif en cours
Si rien n’est trouvé pour la version tarif recherche avec Toutes versions (*) / Code Tarif en cours
Les maj peuvent être réalisées directement sur les VBA et VBP ou bien par l’intermédiaire de matrice, module ou arbre de conditions.
La gestion d’erreur ou de warning doit être paramétrée via l’initialisation des VBP ILc_Erreur et ILc_Warning.
Lors de l’exécution des règles de MAJ après calcul de grille et PV les VBA et VBP suivantes sont intialisées automatiquement par le plugin :
VBA.IScPrixGri : cette VBA est automatiquement alimentée avec la valeur du prix base de la grille
VBA.IScNatTar : cette VBA est automatiquement alimentée avec la valeur de la nature de tarif en cours.
VBA.IScCoeffGri : cette VBA est automatiquement alimentée avec la valeur de la formule du coefficient de Grille
VBA. IScPrixBase : cette VBA est automatiquement alimentée avec la valeur du prix base de la grille encours * Formule du coefficient de Grille
VBP. IScPriHorCat : Cette VBP est alimentée par le plugin suite au calcul de chaque grille de tarif afin d’indiquer si le calcul de la grille en cours a abouti ou pas. Si aucun prix ne correspond aux entrées de la grille mais que tous les éléments nécessaires au calcul de la grille sont corrects, cette VBP aura la valeur YES. Cette VBP pourra par exemple être utilisée dans la phase de maj après calcul afin de générer une erreur si la grille n’aboutit pas.
VBP. IScPrixTrouve : Cette VBP est alimentée par le plugin suite au calcul de chaque grille de tarif et indique qu’un prix a été trouvé pour la grille en cours.
VBA. IScForCalPv : Cette VBA est alimentée par le plugin lors du calcul d’une PV avec la valeur du coefficient défini sur la PV (coeff ou matrice)
VBA. IScCoeffCalPv : Cette VBA est alimentée par le plugin lors du calcul d’une PV avec la valeur de la formule de la PV
VBA. IScMtCalPv : Cette VBA est alimentée par l. plugin lors du calcul d’une PV avec le montant de la PV calculée : formule * coefficient
Les VBA et VBP suivantes peuvent être mis durant la phase de Maj après calcul :
IScStopCalCT : Cette VBP est interprétée suite au calcul de chaque grille de tarif durant la phase de maj après calcul afin de stopper le calcul de la grille en cours et des PV associées et passer ainsi à la grille suivante. Exemple Calcul d’un tarif avec dimension exact : la grille de débouche pas, on stoppe le calcul en cours et des PV et l’on initialise dans la phase de MAJ après calcul la nouvelle référence de grille sur laquelle un calcul avec dimension >= doit être appliqué.
VBA.IScPrixGri : cette VBA est automatiquement alimentée avec la valeur du prix base de la grille peut etre modifiée par paramétrage.
VBA.IScCoeffGri : cette VBA est automatiquement alimentée avec la valeur de la formule du coefficient de Grille et peut être modifiée par paramétrage.
VBA. IScPrixBase : cette VBA est automatiquement alimentée avec la valeur du prix base de la grille encours * Formule du coefficient de Grille et peut être modifiée par paramétrage.
VBA. IScForCalPv : Cette VBA est alimentée par le plugin lors du calcul d’une PV avec la valeur du coefficient défini sur la PV (coeff ou matrice) et peut être modifiée par paramétrage VBA.
VBA.IScCoeffCalPv : Cette VBA est alimentée par le plugin lors du calcul d’une PV avec la valeur de la formule de la PV et peut être modifiée par paramétrage.
VBA. IScMtCalPv : Cette VBA est alimentée par le plugin lors du calcul d’une PV avec le montant de la PV calculée : formule * coefficient et peut être modifiée par paramétrage.
Remarque : lorsque les VBA IScPrixGri, IScCoeffGri , IScPrixBase, IScMtCalPv, IScCoeffCalPv et IScForCalPv sont modifiées par paramétrage suite au calcul de grille de tarif, aucun contrôle de cohérence entre ces 3 valeurs n’est effectuée par le plugin. Elles sont directement enregistrées et servent de base aux IT prix qui sont générées.
Gestion des prix de base
Une fois l’entête tarif défini (elle permettra de définir la manière de calculer le tarif), son détail (quel sera le prix en fonction des contraintes) pourra être renseigné. Ces prix peuvent être définis pour un client, ou pour l’ensemble des clients. Il est possible également de gérer des « promotions » car les prix de base sont également définissables pour une période (date début / date fin).
Le formulaire de saisie des critères est composé des champs suivants :
Code tarif | |
Recherche par client | si oui, le prix de base qui sera défini concernera un client ou un réseau commercial. |
Réseau | Réseau commercial concerné ou Hierarchie si l’on souhaite définir une grille spécifique client dans le cadre d’un calcul hiérarchique |
Référence Client | Pour référencer un client, il faut dans un premier temps saisir le réseau commercial auquel il appartient. |
Aide : | Zone d’aide permettant d’afficher les couples de dates de début et de fin déjà définis |
Date début | |
Date fin | |
Version Tarif | Catalogue de tarif |
Matricielle | La maintenance de la grille dit elle ou non etre réalisée sous forme matricielle ? |
Grille Excel | Si la mise en forme doit être réalisée sous forme matricielle, doit on réalisée la maintenance à partir d’Excel ou à partir d’un tableur dynamique Diapason |
Contraintes Caractères | Dans le cas où il existe des contraintes de type caractère qui permettent de déterminer le prix de base, il faudra les saisir ici. |
Contraintes Numériques | Dans le cas où il existe des contraintes de type numériques autres que la hauteur et la largeur, il faudra les saisir ici. Si on a défini les hauteurs et largeur sous Excel dans les codes tarif, elles seront visualisables ici par défaut. |
Maintenance des prix de base via Diapason
Si les informations Hauteur et Largeur sous Excel ne sont pas renseignées, et que la case « Mise en forme Matricielle » n’est pas définie à oui, la maintenance de la grille sous forme matricielle Excel ou tableur Diapason ne sera pas possible.
Selon les critères définis dans le formulaire de maintenance des prix de base, le tableur généré aura une apparence différente :
Dans notre cas, pour l’année 2006, le prix de base pour une menuiserie de type OB (Oscillo-battant) en PVC sera de 290 € pour l’ensemble des clients, hormis pour le client « 0130000 », appartenant au réseau commercial « COL », auquel sera affecté un prix de base de 100€ pour une menuiserie de ce type.
Maintenance du prix de base passant par un tableur Excel
Si les informations Hauteur et Largeur sous Excel du code tarif sont renseignées, la maintenance de la grille sous Excel sera proposée par défaut: (Champ « Grille Excel » coché a oui et pouvant être décoché dans le formulaire de gestion des prix de base).
La validation du formulaire entraîne l’ouverture du fichier Excel suivant :
Dans ce fichier, seules sont modifiables :
La devise associée.
Les valeurs contenues dans le tableau de droite et correspondant aux tarifs associés.
Ne sont pas modifiables depuis le tableau récapitulatif, le code tarif, la Date début et la Date de Fin de prise en compte de celui-ci, ainsi que les contraintes d’entrées autres que la hauteur et la largeur de la mise en forme matricielle affichée, car ces critères sont tous définis dans le formulaire de maintenance des prix de base qui a lancé Excel.
Maintenance du prix de base sous forme matricielle à partir d’un tableur Diapason
Si les informations Hauteur et Largeur sous Excel du code tarif sont renseignées, la maintenance de la grille sous forme matricielle sera proposée par défaut. Si le champ Grille Excel n’est pas coché le tableur de maintenance Diapason avec mise en forme matricielle sera lancé.
Gestion des plus-values
Il est possible d’associer une ou plusieurs familles de plus-values à chaque tarif. Chaque famille peut regrouper plusieurs plus-values. Pour maintenir ces plus-values, on utilise l’action «famille(s) de plus-values liées » depuis le tableur de visualisation des tarifs.
Le tableur lancé suite à cette action permet d’attribuer plusieurs plus-values à une famille.
Ce tableur est composé des colonnes suivantes :
Famille Plus-values | Famille de plus-value créée |
Désignation Famille Plus-values | Désignation liée à la Famille de plus-value créée |
Nature Plus-values | Il est possible de regrouper les plus-values par nature, une seule plus-value étant validée par nature. |
Désignation Plus-value | Désignation associée à la Nature de plus-values |
Conditionnement Nature | Zone en visu : condition de test de la Nature PV. Valeur issue du TDY lien Famille / Nature |
Numéro d’ordre | Ordre d’exécution des conditions au sein d’une même nature |
Condition | Si la condition est validée, la plus-value rattachée sera prise en compte pour le calcul du tarif. |
Code Identifiant Plus-value | Identifiant de la plus-value créée (incrémenté automatiquement) |
Pour créer une nouvelle famille de plus-value, il suffit d’insérer une nouvelle ligne dans ce tableur et de renseigner les champs avec les données concernant cette nouvelle famille.
Lors de la création de nouvelles plus-values, il suffira d’insérer de nouvelles lignes dans ce tableur et d’y saisir la nature de plus-value, sa désignation, l’ordre et la condition de calcul de celle-ci.
ATTENTION : Dans le cas où de nouvelles lignes ont été insérées dans ce tableur, il faudra d’abord valider ces lignes avant de pouvoir saisir le détail des plus-values.
A partir de ce tableur, il est possible de lancer deux actions :
« Détail Plus-values par Nature »: permet de maintenir toutes les plus-values d’une nature en une seule fois,
« Détail Plus-value »: permet de maintenir uniquement la plus-value sélectionnée.
« Lien Famille / Nature »: permet de conditionner l’exécution d’une nature. Si la condition n’est pas respectée aucune PV liée à cette nature ne sera testée. Le TDY liée a cette action permet de plus de maintenir la désignation de la nature
Ces actions lanceront un formulaire qui nous permettra de définir les conditions d’application de la / des plus-value(s) concernée(s). A la validation de ce formulaire, on accèdera à un nouveau tableur où on saisira les modalités de calcul de la / des plus-value(s) sélectionnée(s).
Lien Famille / Nature
C tableur lancé depuis la définition des PV permet d’une part de maintenir la désignation liée a une nature de PV et d’autre part de conditionner la prise en compte de cette nature de PV lors du calcul du Prix. Si la nature est conditionnée et que la condition n’est pas valide, aucune PV liée a cette nature ne sera testée.
Ce tableur est composé des colonnes suivantes :
Famille Plus-values | Famille de plus-value ( Visu) |
Nature Plus-values | Nature PV Liée ( Visu) |
Désignation Plus-value | Désignation associée à la Nature de plus-values |
Condition | condition de prise ne compte de la Nature PV pour le calcul de prix. |
Maj variables après calcul PV
Cet outil permet de pouvoir effectuer des contrôles et des Initialisations de variables, y compris sur le montant venant d’être calculé, après le calcul de chaque PV.
Les Maj sont réalisées au titre des couples PV /version selon l’ordre suivant :
Version Tarif / Toutes PV Nature (*/*)
Si rien n’est trouvé pour la version tarif recherche avec Toutes versions (*) / Toutes PVNature (*/*)
Puis
Version Tarif / PV Nature en cours
Si rien n’est trouvé pour la version tarif recherche avec Toutes versions (*) / PV Nature en cours
Plus-Values
Les maj peuvent être réalisées directement sur les VBA et VBP ou bien par l’intermédiaire de matrice, module ou arbre de conditions.
La gestion d’erreur ou de warning doit être paramétrée via l’initialisation des VBP ILc_Erreur et ILc_Warning.
Voir paragraphe maj après calcul Code Tarif pour disponibilité des VBA et VBP .
Formulaire de saisie des critères d’application de la plus-value
Ce formulaire est composé des champs suivants :
Nature Plus-value (non saisissable) | Nature sélectionnée lors du lancement |
Identifiant Plus-values (non saisissable) | Liste des identifiants de plus-values sélectionnés si on a lancé l’action «Détail plus-values par nature». Si l’action «Détail plus-values » a été choisie, le champ contiendra uniquement le code identifiant de la ligne sélectionnée. |
Version tarif | Version de tarif associée à la plus-value |
Maintenance par client | Si oui, les détails de la plus-value ne seront valables que pour le client ou le réseau commercial mentionné, ainsi que pour les dates données. |
Réseau | Réseau commercial |
Client | Référence client |
Aide | Zone d’aide permettant d’afficher tous les couples de dates de début et de fin déjà créés. |
Date début | |
Date fin |
Tableur de saisie du détail de la plus-value
Le tableur est donc lancé pour une nature de plus-value ou une plus-value. Il permet de renseigner les valeurs de cette plus-value. Il est composé des colonnes suivantes :
Code plus-value | Code identifiant plus-value |
Famille plus-value | Famille plus-value |
Nature plus-value | Nature de la plus-value |
Ordre | N° ordre de la plus-value dans la nature |
Désignation | Désignation de la plus-value |
Condition d’application | Condition d’application de la plus-value |
Valeur Coeff-Prix | Coefficient à appliquer (peut être un montant, un pourcentage) |
Matrice Coeff-Prix | Matrice déterminant le montant ou le pourcentage à appliquer |
Dés. Matrice | Désignation de la matrice |
x (Montant ou Unité de prix) | Formule à appliquer pour déterminer le montant de la plus-value. Les données renseignées dans cette zone seront multipliées au coefficient saisi ou au coefficient déterminé dans la matrice. |
CleTri1 | Constante / VBA ou Formule servant de valeur de tracabilité dans les Its Cfg. La valeur de ce champ information est stockée dans les ITS scénario afin d’etre exploitée dans le reste du flux. |
CleTri2 | Constante / VBA ou Formule servant de valeur de tracabilité dans les Its Cfg. La valeur de ce champ information est stockée dans les ITS scénario afin d’etre exploitée dans le reste du flux. |
CleTri3 | Constante / VBA ou Formule servant de valeur de tracabilité dans les Its Cfg. La valeur de ce champ information est stockée dans les ITS scénario afin d’etre exploitée dans le reste du flux. |
Commentaire | Commentaire lié au détail de la PV |
Seules les colonnes Valeur coefficient, Matrice coefficient et Montant ou unité de prix sont à saisir, les autres étant pré initialisées selon les valeurs saisies dans le formulaire ou dans le tableur de définition des plus-values.
La valeur de la plus-value est égale à un coefficient multiplié par une formule. Le coefficient peut être exprimé soit sous la forme d’un nombre réel, soit sous la forme d’une matrice (coefficients variables en fonction d’entrées paramétrables à cf. définition des matrices « manuelles »). La formule est, soit définie directement sur le champ, soit définie à l’aide du tableur de gestion des formules (cf. définition des formules « manuelles »), dans ce cas il suffira de renseigner la référence de la formule dans la cellule « formule plus-value ». Dans ce cas-là, la valeur coefficient sera égale à vide.
Valeur coefficient. : nombre réel
Matrice coefficient : référence de la matrice
Formule plus-value : formule ou référence de formule.
Remarque : les formules de calcul de plus-values peuvent exploiter les VBA suivantes qui sont alimentées automatiquement par Diapason durant la phase de calcul de prix pour le contexte en cours de calcul :
VBA.IScPrixBase (prix de base trouvé dans le code tarif en cours)
VBA.IScSomPriBase (somme des prix de base trouvés dans le code tarif en cours)
VBA.IScPriTotEc (prix total en cours : prix de base + plus-values)
VBA.IScCodTar : référence du dernier Code tarif trouvé
VBA.IScCoeffGri : valeur du coefficient formule appliqué au prix de base en cours de calcul
VBA.IScPrixGri : valeur du prix de la grille sans application du coefficient grille
Ces VBA permettent par exemple de gérer des plus-values définies en tant que pourcentage du dernier prix de base => Formule de plus-value utilisant le prix de base du code tarif en cours (VBA.IScPrixBase), ou bien plus-value basée sur la somme des différents prix de base du contexte (VBA.IScSomPriBase).
Matrices de conditionnement et de calcul de plus-value
Le principe de calcul d’une plus-value est généralement basé sur des abaques (la valeur dépend d’autres variables). Pour gérer ces cas, il est possible de définir des « matrices » dans lesquelles les entrées correspondent aux variables entrant en jeu dans le calcul de la plus-value.
Dans l’exemple suivant, la plus-value liée au BVR (Bloc Volet Roulant) est calculée en fonction de la grille suivante :
I_VROption➡️ I_VRMan ⬇️ | DIGICODE | HORL-RADIO | EMET-SUP | CELL-PHOTO | AVERT-LUM |
TO | 38 € | 19 € | 15 € | ||
TEP | 7 € | 4 € | 16 € | ||
TD | 5 € | 8 € | 3 € | ||
SANGLE | 0 € | 0 € | 0 € | ||
FILIAIRE | 100 € | 75 € | 80 € | 130 € | 90 € |
RADIO | 400 € | 250 € | 350 € | 450 € | 175 € |
Dans ce cas, il est approprié de créer une matrice manuelle (cf. définition des matrices « manuelles ») ayant pour entrées les VBA.I_VRMan et VBA.I_VROption.
Dans le détail de la matrice, il suffit de renseigner :
En entrée les combinaisons possibles des valeurs des entrées
En sortie, Yes ou No.
Ainsi, lors de la définition de la plus-value liée au BVR, la référence de la matrice créée sera saisie au niveau de la condition. Ainsi pour chaque cas décrit dans les détails de la matrice, la plus-value sera prise en compte dans le calcul du tarif.
Dans le tableur dynamique réservé au détail de plus-value, la plus-value liée au BVR sera égale à la matrice définie (* la formule si une formule est définie). L’action « Détails matrice » disponible sur la colonne « Matrice Coefficient », permet de lancer le tableur dynamique « IScDatMatT » et vient charger les données définies dans le détail de la matrice manuelle. Il suffira donc de renseigner la valeur de la plus-value en face du cas correspondant.
Remarque : Les colonnes Cle Tri 1 , 2 et 3 permette de définir des constantes / VBA ou Formule servant de valeur de tracabilité dans les Its Cfg. La valeur de ce champ information est stockée dans les ITS scénario afin d’être exploitée dans le reste du flux. Si une valeur est définie sur le détail de matrice et sur le détail de la PV, celui de la matrice ( niveau le plus fin) sera retenue. Si rien n’est défini sur la matrice celui du détail PV sera pris en compte.