Les fonctionnalités de gestion des lots ont été regroupées dans un "sous-moteur" puisqu'elles doivent être accessibles à différents moteurs de Mercator :
- BillingEngine : dans les documents de vente et d'achat
- TransferEngine : dans les transferts de dépôt
- InventoryEngine : dans les inventaires
Le LotSubEngine a ces propriétés publiques (liste non exhaustive) :
-
Type :
-
V pour un document de vente
-
A pour un document d'achat
-
D pour un transfert de dépôt
-
I pour un inventaire
-
ParentEngine : le BillingEngine, TransferEngine ou InventoryEngine qui le contient
-
LotsUsed : contient true si le moteur a géré au moins un article à lot
Le LotSubEngine a ces méthodes publiques (liste non exhaustive) :
-
Complete : lors de la validation, lorsque Mercator demande de compléter les lots non encore saisis
-
ShowLot : fonctionnalité de "Consulter Lot"
Le LotSubEngine répond à ces évènements :
-
AskLotLoaded : lorsque la fenêtre de saisie des lots est chargée : permet donc d'effectuer des modifications dans cette fenêtre
-
AskLotBeforeOk : au début de l'exécution du code de validation de la fenêtre de saisie des lots
-
AskLotAfterOk : en fin de l'exécution du code de validation de la fenêtre de saisie des lots
-
AskLotBeforeUpdateAmounts : au début de l'exécution du code de recalcul de la fenêtre de saisie des lots
-
AskLotAfterUpdateAmounts : en fin de l'exécution du code de recalcul de la fenêtre de saisie des lots
-
BeforeComplete : au début de l'exécution du code de la méthode Complete
-
AfterComplete : en fin de l'exécution du code de la méthode Complete
L'écran de saisie des lots est MercatorUi.Forms.Gescom.GescomDialogs.GescomAskLot. Il contient toutes les propriétés publiques nécessaires qui seront utilisées, par exemple, à partir des 5 premiers évènements indiqués ci-dessus :
-
public Engine.Gescom.LotSubEngine.LotTypeEnum Type
-
public DataTable ArtLot (table derrière la grille)
-
public DataRow Stock (article en cours)
-
public bool CompareMode : est-on en mode "comparaison" ?
-
public Engine.Gescom.IEngineGescom EngineGescom
-
public GridPro.DataGridViewXPro Grid