SIT - Product Expiry Improved
Module visant à corriger certains défauts standard Odoo dans la gestion des dates d'expirations sur lots & n° de série.
Rappel du standard et limites V15 constatées
En standard Odoo, lorsqu'on active les dates d'expiration, 3 autres dates sont également disponibles : date d'alerte, date de retrait, DLUO.
Ces dates peuvent être définies manuellement sur chaque lot/n° de série, mais elles sont aussi censées se calculer en fonction de la date d'expiration, à partir de délais configurés sur la fiche article.
Toutefois, on constate certaines anomalies :
-
Lorsqu'on change la date d'expiration, Odoo fait un timedelta pour décaler toutes les autres dates d'autant. C'est plutôt malin dans l'approche MAIS 2 cas ne sont pas bien traités :
- s'il n'y a pas de date d'expiration et qu'on en met une ==> ne saisit pas les autres dates
- si on change la date d'expiration mais qu'aucune autre date n'est saisie ==> met les autres dates à la date d'expiration, sans prendre en compte les délais paramétrés dans la fiche article
-
Le champ d'aide du champ Délai avant alerte au niveau produit explique "Nombre de jours avant la date d'expiration pour lever une alerte sur le lot", alors qu'en réalité c'est le nombre de jours "après la création du lot" qui est appliqué. (Le calcul à la création du lot est today() + x jours
et non today() - x jours
)
Fonctionnement du module
Les 3 dates mentionnées ci-dessus (alerte, retrait, DLUO) sont désormais calculées à partir de la date d'expiration (conformément à la description du champ) et non de la date d'aujourd'hui, en prenant proprement en compte les délais configurés dans la fiche article.
Si la date d'expiration n'est pas encore définie (à la réception d'un nouveau lot par exemple), on commence par l'initialiser comme en standard : today() + durée d'expiration
Note migration
Module non requis à partir de la V16, car comportement standard amélioré par Odoo.