Difference between revisions of "Module Prix dynamiques"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Tag: 2017 source edit
(Ajout des noms de variables dans le code et de quelques exemples fonctionnels)
Line 16: Line 16:
  
 
=Introduction=
 
=Introduction=
Ce module est expérimental  
+
Ce module est expérimental
  
Il est donc nécessaire d activer MAIN_FEATURES_LEVEL=2
+
Pour pouvoir l'utiliser, il est nécessaire d'activer '''MAIN_FEATURES_LEVEL=2''' dans Accueil -> Configuration -> Divers :
  
Des bugs peuvent etre present.
+
Level of features to show:
 +
 
 +
* -1 = stable + deprecated
 +
* 0 = stable only (default)
 +
* 1 = stable + experimental
 +
* 2 = stable + experimental + development
 +
 
 +
Attention, des bugs peuvent être présents.
  
 
=Installation=
 
=Installation=
Line 48: Line 55:
  
 
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.
 
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.
 +
 +
== Liste des variables utilisables ==
 +
Ne pas hésiter à compléter la liste.
 +
{| class="wikitable"
 +
|+
 +
!Nom de la variable dans le code
 +
!Onglet correspondant
 +
!Champ correspondant
 +
!Testé dans la version Dolibarr
 +
|-
 +
|#global_NOMVARIABLE#
 +
|Accueil -> Configuration -> Modules/Applications -> PRIX CALCULES DYNAMIQUEMENT
 +
|Variable globale NOMVARIABLE
 +
|v19.0.2
 +
|-
 +
|#supplier_min_price#
 +
|<nowiki>Produits | Services -> Produit -> choisir le produit -> Prix d'achat</nowiki>
 +
|Prix quantité min.
 +
|v19.0.2
 +
|-
 +
|#supplier_min_price_with_discount#
 +
|<nowiki>Produits | Services -> Produit -> choisir le produit -> Prix d'achat</nowiki>
 +
|Prix quantité min. * ( 1 - Remise pour cette qté. )
 +
|v19.0.2
 +
|-
 +
|#pmp#
 +
|<nowiki>Produits | Services -> Produit -> choisir le produit -> Prix d'achat</nowiki>
 +
|Prix moyen pondéré (PMP)
 +
|v19.0.2
 +
|-
 +
|#cost_price#
 +
|<nowiki>Produits | Services -> Produit -> choisir le produit -> Prix d'achat</nowiki>
 +
|Prix de revient
 +
|
 +
|}
 +
 +
== Exemples de formules fonctionnelles ==
 +
Ne pas hésiter à compléter la liste.
 +
 +
'''Note importante''' '''1''' : pour le calcul d'un prix TTC, il ne faut pas ajouter la TVA dans le calcul, car la multiplication est déjà faite implicitement par Dolibarr (on multiplierait sinon deux fois par la TVA).
 +
 +
'''Note importante 2''' : la liste des produits ne s'actualise pas avec le prix de vente TTC calculé automatiquement par la formule.
 +
{| class="wikitable"
 +
|+
 +
!Formule
 +
!Usage
 +
!Testé dans la version Dolibarr
 +
|-
 +
|price = #supplier_min_price_with_discount# * #global_coeff1#
 +
|Calcul du prix de vente TTC à partir du prix d'achat HT, de la remise produit, de la marge globale et de la TVA.
 +
|v19.0.2
 +
|-
 +
|price = #global_coefvente# * #cost_price#
 +
|Calcul du prix de vente TTC à partir du prix de revient, de la marge globale et de la TVA.
 +
|v19.0.2
 +
|-
 +
|price = #pmp# * #cost_price#
 +
|Calcul du prix de vente TTC à partir du prix moyen pondéré, de la marge globale et de la TVA.
 +
|
 +
|}
 +
  
 
{{ToComplete}}
 
{{ToComplete}}

Revision as of 15:34, 8 July 2025

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.

Pour pouvoir l'utiliser, il est nécessaire d'activer MAIN_FEATURES_LEVEL=2 dans Accueil -> Configuration -> Divers :

Level of features to show:

  • -1 = stable + deprecated
  • 0 = stable only (default)
  • 1 = stable + experimental
  • 2 = stable + experimental + development

Attention, des bugs peuvent être présents.

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 Cog circle.svg 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.

Liste des variables utilisables

Ne pas hésiter à compléter la liste.

Nom de la variable dans le code Onglet correspondant Champ correspondant Testé dans la version Dolibarr
#global_NOMVARIABLE# Accueil -> Configuration -> Modules/Applications -> PRIX CALCULES DYNAMIQUEMENT Variable globale NOMVARIABLE v19.0.2
#supplier_min_price# Produits | Services -> Produit -> choisir le produit -> Prix d'achat Prix quantité min. v19.0.2
#supplier_min_price_with_discount# Produits | Services -> Produit -> choisir le produit -> Prix d'achat Prix quantité min. * ( 1 - Remise pour cette qté. ) v19.0.2
#pmp# Produits | Services -> Produit -> choisir le produit -> Prix d'achat Prix moyen pondéré (PMP) v19.0.2
#cost_price# Produits | Services -> Produit -> choisir le produit -> Prix d'achat Prix de revient

Exemples de formules fonctionnelles

Ne pas hésiter à compléter la liste.

Note importante 1 : pour le calcul d'un prix TTC, il ne faut pas ajouter la TVA dans le calcul, car la multiplication est déjà faite implicitement par Dolibarr (on multiplierait sinon deux fois par la TVA).

Note importante 2 : la liste des produits ne s'actualise pas avec le prix de vente TTC calculé automatiquement par la formule.

Formule Usage Testé dans la version Dolibarr
price = #supplier_min_price_with_discount# * #global_coeff1# Calcul du prix de vente TTC à partir du prix d'achat HT, de la remise produit, de la marge globale et de la TVA. v19.0.2
price = #global_coefvente# * #cost_price# Calcul du prix de vente TTC à partir du prix de revient, de la marge globale et de la TVA. v19.0.2
price = #pmp# * #cost_price# Calcul du prix de vente TTC à partir du prix moyen pondéré, de la marge globale et de la TVA.

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