Event DuringSave van BookingEngine

0000002171     -      09-01-2016

Het event DuringSave van BookingEgine wordt net voor de transfer van de lijnen van de tijdelijke tabel #LIGNES_C_TMP vers #LIGNES_C uitgevoerd op de SQL-server. Op dat ogenblik zijn de lijnen in de tijdelijke tabel volledig.

Let op: met deze tool moet u voorzichtig zijn, aangezien het op een tijdelijke tabel werkt, is het niet meer mogelijk om een UpdateAmount uit te voeren om de totalen opnieuw te berekenen. De op deze plaats aangebrachte wijzigingen mogen dus geen wijzigingen inhouden in de hoofding van het document.


Het event heet als volgt:

Zoom
bookingEngine.DuringSave += new MercatorUi.Engine.Cpta.BookingEngine.DuringSaveEventHandler(bookingEngine_DuringSave);

Een typecode kan de volgende zijn:

Zoom
void bookingEngine_DuringSave(object sender, MercatorUi.Engine.Cpta.BookingEngine.DuringSaveEventArgs e)
{
    e.SqlCommand.CommandText = "update #lignes_c_tmp set..."
    if (!Api.SqlExec(e.SqlCommand))
        e.CancelSave = true ;
}


Er zijn twee eigenschappen in het eventArgs:

  • CancelSave: op true te plaatsen indien men het opslaan wenst te stoppen;
  • SqlCommand: voor elke opdracht te gebruiken. Deze bevat al de geschikte SqlConnection evenals SqlTransaction

Gebruiksvoorbeeld: Meerdere vervaldata hebben bij het boeken van een verkoop