This commit is contained in:
2026-05-06 15:15:52 +02:00
parent d4da45344c
commit c27c915700
2 changed files with 48 additions and 0 deletions

View File

@@ -663,6 +663,34 @@ Owner technique: `a completer`
- Priorite:
- `structurante`
### BR-PT-022 - Remove physical lot restaure le lot.qt ouvert avec son contexte
- Intent: permettre d'annuler un lot physique cree par erreur sans perdre le
contexte metier de shipment ou de matching deja porte par ce lot.
- Description:
- L'action `Remove physical lot` peut supprimer un lot physique meme s'il est
shippe, matche, ou les deux.
- Dans ces cas, l'utilisateur doit recevoir un warning confirmable avant la
suppression.
- La suppression n'est autorisee que si le `stock.move` lie au lot physique
est encore en etat `draft`.
- Si le `stock.move` n'est pas en `draft`, l'action est bloquee car le flux
peut deja avoir des impacts stock/comptables.
- Resultat attendu:
- le `lot.move` et le `stock.move` correspondant sont supprimes avec le lot
physique.
- la quantite courante convertie du lot physique est restauree dans `lot.qt`.
- si le lot etait shippe, la ligne `lot.qt` restauree conserve le shipment
(`lot_shipment_in`, `lot_shipment_internal` ou `lot_shipment_out`).
- si le lot etait matche, la ligne `lot.qt` restauree conserve le lot sale
virtuel (`lot_s`).
- si une ligne `lot.qt` existe deja avec le meme lot purchase virtuel, le
meme shipment et le meme `lot_s`, la quantite est agregee sur cette ligne
plutot que de creer un doublon.
- si aucune ligne compatible n'existe, une nouvelle ligne `lot.qt` est creee.
- Priorite:
- `importante`
## 4) Exemples concrets
### Exemple E1 - Augmentation simple

View File

@@ -194,3 +194,23 @@ elle existe, par exemple:
- A la suppression du dernier physique, le fee retombe sur son lot virtuel.
- Le PnL fee suit la meme logique: full open tant que seul le virtuel existe,
puis uniquement les lots physiques effectifs.
## Session 2026-05-06 - Remove physical lot
### `lot.remove` / lot physique shippe ou matche
- L'action `Remove physical lot` ne bloque plus automatiquement un lot physique
shippe ou matche.
- Si le lot est shippe, matche, ou les deux, l'utilisateur doit confirmer un
warning avant suppression.
- La suppression reste interdite si le `stock.move` lie au lot physique n'est
pas en etat `draft`, car le mouvement peut deja etre engage ou comptabilise.
- Quand la suppression est confirmee, le `lot.move`, le `stock.move` draft et
le lot physique sont supprimes.
- La quantite du lot physique est restauree dans `lot.qt` avec le meme contexte
metier:
- meme lot purchase virtuel (`lot_p`);
- meme shipment si le lot etait shippe;
- meme lot sale virtuel (`lot_s`) si le lot etait matche.
- Si une ligne `lot.qt` existe deja avec ce meme contexte, la quantite est
agregee sur la ligne existante au lieu de creer un doublon.