Ce paramétrage n'est pas réellement un module, puisqu'il est possible de le réaliser avec un simple bouton. L'objet de ce paramétrage est d'ajouter dans l'écran de la gestion commerciale (ventes ou achats), un bouton qui va permettre de multiplier la quantité de la ligne courante par -1. Si la ligne courante ne contient pas d'article, la multiplication aura lieu sur la ligne première précédente qui contient un article.
Cela peut se faire en ajoutant un bouton dont le code sera :
public static void Exec(MercatorUi.MovableControls.MovableButton clickedButton)
{
// enter your customized code here
MercatorUi.Forms.Billing.BillingForm billingForm = (MercatorUi.Forms.Billing.BillingForm)clickedButton.Form;
MercatorUi.Engine.Gescom.BillingEngine billingEngine = billingForm.BillingEngine;
if (billingEngine.ReadOnly) // si l'utilisateur n'a pas le droit de modifier ce document
return;
int index = Api.DataGridViewCurrentRowToDataTableRowIndex(billingForm.LinesEditor.Grid);
if (index < 0)
return;
if (!string.IsNullOrWhiteSpace(billingEngine.LignesVRecords[index].ID_ARTICLE))
{
billingEngine.LignesVRecords[index].DataRow[billingEngine.VarQ] = (double)billingEngine.LignesVRecords[index].DataRow[billingEngine.VarQ] * -1;
billingEngine.UpdateAmounts();
}
else
{
index = index - 1;
if (index < 0)
return;
if (!string.IsNullOrWhiteSpace(billingEngine.LignesVRecords[index].ID_ARTICLE))
{
billingEngine.LignesVRecords[index].DataRow[billingEngine.VarQ] = (double)billingEngine.LignesVRecords[index].DataRow[billingEngine.VarQ] * -1;
billingEngine.UpdateAmounts();
}
}
MercatorUi._Divers.SuperFocus(billingForm.LinesEditor);
}
Cette programmation requiert l'option ENGG.