private void billingEngine_BeforeSave(object sender, MercatorUi.Engine.Gescom.BillingEngine.BeforeSaveEventArgs e)
{
    MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine) sender;
    MercatorUi._BaseClasses.TimerOneShot timer = new MercatorUi._BaseClasses.TimerOneShot(timer_Tick, billingEngine);
    List <Control> l = billingEngine.BillingForm.FindMovableControlsBySource("REFERENCE");
    if (l.Count > 0)
        e.CancelSave = true;
}


void timer_Tick(object sender, EventArgs e)
{
    MercatorUi._BaseClasses.TimerOneShot timer = (MercatorUi._BaseClasses.TimerOneShot)sender;
    MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine) timer.Tag;
    List <Control> l = billingEngine.BillingForm.FindMovableControlsBySource("REFERENCE");
    if (l.Count > 0)
        _Divers.FocusError(l[0]);
}