U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Een knop toevoegen in een document uit het commercieel beheer waarmee je de hoeveelheid van de lijn met 1 kan vermeerderen

0000002749     -      20-09-2017

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:

Zoom
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.