Deze instellingen zijn niet te vergelijken met een module, omdat je het kan realiseren met een simpele knop. Het object van deze instellingen is toegevoegd in het scherm uit het commercieel beheer (aankopen of verkopen), het omvat een knop die je toelaat om de hoeveelheid van de huidige lijn met 1 te vermeerderen. Indien de huidige lijn geen artikel bevat zal de knop invloed hebben op de voorgaande lijn die een artikel bevat.
Dit kan gedaan worden door onderstaande code aan de knop toe te voegen:
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) // indien de gebruiker de rechten niet heeft om het document te wijzigen
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);
}
Deze programmatie vereist de optie ENGG.