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;
}