Module Prix dynamiques: Difference between revisions

Jump to navigation Jump to search
Ajout des opérateurs et fonctions connus
(Ajout des opérateurs et fonctions connus)
Line 55: 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.


==Règles syntaxiques==
==Opérateurs==
Ne pas hésiter à compléter la liste.
{| class="wikitable"
{| class="wikitable"
|+
|+
!
!
! colspan="2" |Fonctionne dans :
!
|-
!Caractère
!Caractère
!Rôle
!Rôle
!Editeur d'expression de prix
!Attributs supplémentaires
!Exemple
|-
|-
|price =
|price =
|A toujours placer au début de l'expression (correspond à la variable calculée).
|A toujours placer au début de l'expression (correspond à la variable calculée).
En alternative, ne rien indiquer fonctionne aussi.  
En alternative, ne rien indiquer fonctionne aussi.
|X
|
|price = #supplier_min_price#
<nowiki>#</nowiki>supplier_min_price#
|-
|'''#'''nomvar'''#'''
|Pour signaler une variable où nomvar est le nom de la variable dans le code (à placer au début et à la fin du nom de variable sans espace)
|X
|
|#supplier_min_price#
|-
| +
|Addition
|X
|X
|3 + 2
|-
|-
|#
| -
|Pour signaler une variable (à placer au début et à la fin du nom de variable sans espace)
|Soustraction
|X
|X
|3 - 2
|-
|-
|*
|*
|Multiplication
|Multiplication
|X
|X
|3 * 2
|-
|-
|/
|/
|Division
|Division
|X
|X
|3 / 2
|-
|( )
|Parenthèses à utiliser pour la priorité entre multiplication et addition.
|X
|X
|(2+3)*2
|-
|-
| +
|( )
|Addition
|Parenthèses à utiliser autour d'une condition pour la délimiter si elle est imbriquée dans une autre condition.
|
|X
|($object->weight > 0 ? 20 : 0 ) > 0 ? 'jaune' : 'rouge'
|-
|-
| -
|'''$'''nomtable'''->'''nomvar
|Soustraction
|A utiliser si la variable nomvar est dans une table nomtable du code pouvant être appelée (ex : Attributs supplémentaires du module Produits)
|
|X
|$object->weight
|-
|-
|;
|;
|Pour séparer les expressions s'il y en a plusieurs dans la même formule
|Pour séparer les expressions s'il y en a plusieurs dans la même formule
|
|X
|
|-
|A + B
|"OU" logique (la condition A ou la condition B ou les deux doivent être vrais)
|
|X
|isset($object->weight) && $object->weight > 0
|-
|A && B
|"ET" logique (les conditions A et B doivent être vraies)
|
|X
|
|-
|A == B
|Egalité logique (A doit être égal à B pour valider la condition)
|
|X
|
|-
|A > B
|A doit être strictement plus grand que B
|
|X
|
|-
|A < B
|A doit être strictement plus petit que B
|
|X
|
|-
|X ? Y : Z
|Equivaut respectivement au "then" et au "else" de l'expression "if X then Y else Z".
|
|X
|$object->weight > 0 ? 20 : 0
|}
== Fonctions ==
Ne pas hésiter à compléter la liste.
{| class="wikitable"
|+
!Fonction
!Rôle
!Exemple
|-
|X ? Y : Z
|If X Then Y Else Z : si la condition X est satisfaite, appliquer Y, sinon appliquer Z.
|weight > 0 ? 2 * weight : 0 (si le poids est supérieur à zéro, renvoyer deux fois le poids, sinon renvoyer zéro).
|-
|isset(X)
|Vérifie si la variable X a une valeur définie.
|Si Poids = "" et Volume = 500 mL, le poids n'a pas de valeur définie -> isset(Poids) = 0.
|-
|round(X,2)
|Arrondit la variable X à 2 chiffres après la virgule.
|round(2.564,2) = 2.56
|}
|}


Line 101: Line 207:
|-
|-
|#supplier_min_price#
|#supplier_min_price#
|<nowiki>Produits | Services -> Produit -> choisir le produit</nowiki>
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Prix d'achat
|Prix d'achat
|Prix quantité min.
|Prix quantité min.
Line 107: Line 213:
|-
|-
|#supplier_min_price_with_discount#
|#supplier_min_price_with_discount#
|<nowiki>Produits | Services -> Produit -> choisir le produit</nowiki>
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Prix d'achat
|Prix d'achat
|Prix quantité min. * ( 1 - Remise pour cette qté. )
|Prix quantité min. * ( 1 - Remise pour cette qté. )
Line 113: Line 219:
|-
|-
|#pmp#
|#pmp#
|<nowiki>Produits | Services -> Produit -> choisir le produit</nowiki>
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Prix d'achat
|Prix d'achat
|Prix moyen pondéré (PMP)
|Prix moyen pondéré (PMP)
Line 119: Line 225:
|-
|-
|#supplier_quantity#
|#supplier_quantity#
|<nowiki>Produits | Services -> Produit -> choisir le produit</nowiki>
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Prix d'achat
|Prix d'achat
|Qté achat minimum
|Qté achat minimum
Line 125: Line 231:
|-
|-
|#supplier_tva_tx#
|#supplier_tva_tx#
|<nowiki>Produits | Services -> Produit -> choisir le produit</nowiki>
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Prix d'achat
|Prix d'achat
|Taux TVA (pour ce produit/fournisseur)
|Taux TVA (pour ce produit/fournisseur)
Line 131: Line 237:
|-
|-
|#tva_tx#
|#tva_tx#
|<nowiki>Produits | Services -> Produit -> choisir le produit</nowiki>
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Prix de vente
|Prix de vente
|Taux de taxe par défaut
|Taux de taxe par défaut
Line 137: Line 243:
|-
|-
|#weight#
|#weight#
|<nowiki>Produits | Services -> Produit -> choisir le produit</nowiki>
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Produit
|Produit
|Poids
|Poids
Line 165: Line 271:
|-
|-
|#cost_price#
|#cost_price#
|<nowiki>Produits | Services -> Produit -> choisir le produit</nowiki>
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Prix d'achat
|Prix d'achat
|Prix de revient
|Prix de revient
Line 171: Line 277:
|-
|-
|#price_min#
|#price_min#
|<nowiki>Produits | Services -> Produit -> choisir le produit</nowiki>
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Prix de vente
|Prix de vente
|Prix min
|Prix min
Line 177: Line 283:
|-
|-
|#length#
|#length#
|<nowiki>Produits | Services -> Produit -> choisir le produit</nowiki>
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Produit
|Produit
|Longueur
|Longueur
Line 183: Line 289:
|-
|-
|#surface#
|#surface#
|<nowiki>Produits | Services -> Produit -> choisir le produit</nowiki>
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Produit
|Produit
|Surface
|Surface
Line 196: Line 302:
|+
|+
!Formule
!Formule
!Chemin IHM correspondant
!Onglet IHM correspondant
!Champ IHM correspondant
!Usage
!Usage
!Testé dans la version Dolibarr
!Testé dans la version Dolibarr
|-
|-
|price = #supplier_min_price_with_discount# * #global_coefvente#
|price = #supplier_min_price_with_discount# * #global_coefvente#
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Prix de vente
|Modifier prix par défaut -> Editeur d'expression de prix
|Calcul du prix de vente TTC à partir du prix d'achat HT, de la remise produit, de la marge globale et de la TVA.
|Calcul du prix de vente TTC à partir du prix d'achat HT, de la remise produit, de la marge globale et de la TVA.
|v20.0.2
|v20.0.2
|-
|-
|price = #supplier_min_price# * #global_coefvente#
|price = #supplier_min_price# * #global_coefvente#
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Prix de vente
|Modifier prix par défaut -> Editeur d'expression de prix
|Calcul du prix de vente TTC à partir du prix d'achat HT, de la marge globale et de la TVA.
|Calcul du prix de vente TTC à partir du prix d'achat HT, de la marge globale et de la TVA.
|v20.0.2
|v20.0.2
|-
|-
|price =  #cost_price# * #global_coefvente#
|price =  #cost_price# * #global_coefvente#
|<nowiki>Produits | Services -> Produits -> Liste -> choisir le produit</nowiki>
|Prix de vente
|Modifier prix par défaut -> Editeur d'expression de prix
|Calcul du prix de vente TTC à partir du prix de revient, de la marge globale et de la TVA.
|Calcul du prix de vente TTC à partir du prix de revient, de la marge globale et de la TVA.
|v20.0.2
|-
|isset($object->weight) && $object->weight > 0 ?
round($object->price_ttc / ($object->weight_units == '-3' ? $object->weight / 1000 : $object->weight), 2) :
(isset($object->volume) && $object->volume > 0 ?
round($object->price_ttc / ($object->volume_units == '0' ? $object->volume / 1000 : $object->volume), 2) :
0)
|Accueil -> Configuration -> Modules/Applications -> PRODUITS
|Attributs supplémentaires
|Nouvel attribut
|Cette formule calcule le Prix au kg ou au L du produit. Elle permet de gérer si le produit est solide (au poids) ou liquide (au volume), gère aussi si l’unité est g (-3) ou kg (0), ou bien millilitre (0) ou litre (98), et fait un arrondi à 2 chiffre après la virgule.
|v20.0.2
|v20.0.2
|}
|}
15

edits

Navigation menu