Module Prix dynamiques

Prix Dynamiques
Numéro/ID du module 2200
Doc utilisateur du module Cette page
Doc développeur du module Module Prix Dynamiques (développeur)

Introduction

Ce module est expérimental

Il est donc nécessaire d activer MAIN_FEATURES_LEVEL=2

Des bugs peuvent etre present.

Installation

Ce module est livré en standard avec la distribution de Dolibarr, aussi il est déjà installé.

Configuration

Pour utiliser ce module, il vous faut d'abord l'activer. Pour cela, après s'être connecté avec un compte administrateur, aller sur la page "Accueil - Configuration - Modules".

Choisissez l'onglet dans lequel apparaît le module puis cliquez sur "Activer".

Le module est alors activé.

Si un pictogramme   apparaît sur la vignette ou à la fin de la ligne du module, cliquez dessus pour accéder à la page de paramétrage spécifique à ce module.

Utilisation

Reconnaissons-le, c'est probablement le module le plus cryptique de Dolibarr. Mais il a titillé votre curiosité, car vous sentez bien qu'il peut faire des choses très particulières...

Et c'est le cas en effet : le concept est de calculer le prix unitaire en fonction des paramètres du produit. Exemple type : une barre en acier dont le prix sera calculé au mètre (information entrée sur le devis/commande/facture) mais indexé sur un prix au volume (ou au poids, ce qui revient au même).

Mais comment qu'on fait ? Il faut déjà accéder à l'éditeur d'expression de prix (la formule, quoi). Pour cela, une fois le module activé, se rendre sur le produit concerné, puis l'onglet "prix de vente" et demander à modifier le prix par défaut, on a alors le bouton "Editeur d'expression de prix" tant attendu.

On clique dessus et pis si la formule a déjà été rentrée, on la sélectionne, sinon, on choisit 'Nouveau', on lui donne un nom et on tape la formule (qui peut se faire sur plusieurs lignes pour des calculs intermédiaires).

Là bien sûr on pleure un peu car si le dictionnaire des calculs est simple (caractères standards =*/+-), il faut encore connaître les noms des variables d'intérêt qui sont les champs de l'objet produit concerné (classe Product, oui il faut aller voir le code). Autant dire que si cette fonctionnalité vous intéresse, ou vous avez du temps, ou il est raisonnable de faire appel à un prestataire Dolibarr...

Mais en gros le calcul doit finir par un price=

Exemple, indexer le prix de vente sur le coût de revient : price=#global_coefvente#*#cost_price#

où #global_coefvente# fait référence à la variable coefvente définie dans la configuration du module, tandis que #cost_price# est le champ du produit définissant son prix de revient (défini manuellement dans l'onglet prix d'achat du produit). Remplacer par #pmp# si vous préférez le prix moyen pondéré. Vous aurez compris que # encadrant un nom de variable se réfère à un paramètre du produit, sauf s'il commence par global_ où il se réfère à un paramètre configuré pour le module.

Ce module est donc très puissant. Il ne lui manque que la gestion des tests conditionnels (accessible en remplaçant la librairie support evalmath par celle de Moodle (https://github.com/moodle/moodle/blob/master/lib/evalmath/evalmath.class.php)). Lorsque les calculs deviennent complexes (en tout cas longs et verbeux), il peut également être utile de modifier le champ expression de la table llx_c_price_expression qui a une longueur maximale de 80 caractères par défaut.

  Page waiting to complete. To complete, create an account, go back and clic on "Modify".
  Page en attente d'être complété. Pour compléter, créez un compte, revenez et cliquez sur "Modifier".
  Página a completar. Para completarla, cree una cuenta, vuelva a la página y haga clic en "editar"
  Seite wartet auf Vervollständigung. Um zu helfen, erstelle ein Konto, gehe zurück und klicke auf "Bearbeiten".
  待完成,欲帮助完成,注册帐号,点击“编辑"
  ページは未完成の状態です。完成させるにはアカウントを作成し、ページに戻って「編集」をクリックして下さい。