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

Beheer van het maximumbedrag aan geldopnames

0000003126     -      03-01-2023

Bij geldopnames - bankstortingen kan worden gecontroleerd of het opgenomen bedrag het bedrag in de kassa niet overschrijdt. Deze controle wordt uitgevoerd per betaalmethode en per valuta.

Hieronder staat een voorbeeld van code die een waarschuwing weergeeft als deze wordt overschreden:

Zoom
// <CompileWithRoslyn />

namespace Gescom
{
    public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer, MercatorUi.ICustomizers.IFormClosedCustomizer
    {

        public void FormLoadCustomize(System.Windows.Forms.Form form)
        {
            if (form is MercatorUi.Forms.Gescom.GescomCashDepositBankRemittingForm gescomCashDepositBankRemittingForm)
                gescomCashDepositBankRemittingForm.HandlingError += GescomCashDepositBankRemittingForm_HandlingError;
        }

        public void FormClosedCustomize(System.Windows.Forms.Form form)
        {
            if (form is MercatorUi.Forms.Gescom.GescomCashDepositBankRemittingForm gescomCashDepositBankRemittingForm)
                gescomCashDepositBankRemittingForm.HandlingError -= GescomCashDepositBankRemittingForm_HandlingError;
        }

        private void GescomCashDepositBankRemittingForm_HandlingError(object sender, MercatorUi.Forms.Gescom.GescomCashDepositBankRemittingForm.HandlingErrorEventArgs e)
        {
            e.Action = MercatorUi.Forms.Gescom.GescomCashDepositBankRemittingForm.HandlingErrorEnum.Warning;
        }
    }
}

 

Door de waarde van e.Action te veranderen, is het mogelijk ander gedrag te produceren:

  • CancelSave : stop het opslaan. De aangepaste code zou idealiter een bericht moeten weergeven.
  • AcceptAndContinue :verdergaan

 

Deze code toont hoe een blokkerend bericht kan worden weergegeven:

Zoom
private void GescomCashDepositBankRemittingForm_HandlingError(object sender, MercatorUi.Forms.Gescom.GescomCashDepositBankRemittingForm.HandlingErrorEventArgs e)
{
    MercatorUi.Dialogs.Stop(string.Format("{0} : het opgenomen bedrag {1} {3} is groter dan het bedrag in kas {2} {3} !"
        , e.LibPaiem, Api.Transform(e.Amount, e.PictDev), Api.Transform(e.Caisse, e.PictDev), e.NomDev));
    e.Action = MercatorUi.Forms.Gescom.GescomCashDepositBankRemittingForm.HandlingErrorEnum.CancelSave;
}