Module Prix dynamiques: Difference between revisions

Jump to navigation Jump to search
no edit summary
Tag: 2017 source edit
No edit summary
Tag: 2017 source edit
Line 31: Line 31:
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.
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 nu nom et on tape la formule (qui peut se faire sur plusieurs lignes pour des calculs intermédiaires).
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...
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...
Line 40: Line 40:
price=#global_coefvente#*#cost_price#
price=#global_coefvente#*#cost_price#


#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 gloabl_ où il se réfère à un paramètre configuré pour le module.
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 gloabl_ 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.
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.


{{ToComplete}}
{{ToComplete}}
6

edits

Navigation menu