SIT - Expiration Date Editable
Module pour ajuster les conditions standard Odoo déterminant si l'on peut éditer ou non la date d'expiration à la réception de lots/n° de série.
Problème standard Odoo
Pour rappel :
* le fait d'autoriser l'utilisation de n° de série/lot existant ou d'en créer des nouveaux se paramètre au niveau du type d'opération
* lorsqu'on manipule des n° de lot sur un transfert et que les dates d'expiration sont activées, il est possible de saisir la date d'expiration au niveau de l'opération détaillée (stock.move.line). À la validation du transfert, cette date est reportée sur le n° de lot.
Odoo a alors fait le postulat suivant :
- Si l'on autorise la création de nouveau n° lot, alors on doit pouvoir saisir une date d'expiration
- Si l'on utilise des n° de lot existants, on n'est pas censé modifier sa date d'expiration existante ==> le champ est en readonly sur les opérations
Or il y a des cas où on peut autoriser les deux sur le même type d'opération.
C'est notamment le cas sur les opérations de réception lorsqu'on travaille dans un contexte multi-entrepôts. Il faut en effet pouvoir réceptionner des nouveaux n° de lot lors de réception d'achats, mais il faut également pouvoir réceptionner des n° de lot existants si l'on a simplement fait un transfert inter-entrepôt de stock existant.
On se retrouve alors bloqué, car Odoo met la date d'expiration en readonly dès lors qu'on utilise la manipulation de n° de lot existants :

Solution apportée par le module
- Les n° de lot/série créés directement depuis une opération dans un transfert sont désormais initialisés sans date d'expiration
- La condition pour autoriser l'édition du n° de lot devient :
- si le type d'opération n'autorise que le déplacement de n° existants, sans autoriser la création de nouveaux n° ==> readonly
- si le n° de lot a déjà une date de définie ==> readonly
- sinon ==> éditable

Crédits
Module développé & maintenu par SimplicIT : https://www.simplicit.eu