SQL-commando in transactie bij het bewaren van een document uit het commercieel beheer.

0000002547     -      25-12-2025

Men moet hiervoor de property MercatorSqlCommandForFinalTransaction van de BillingEngine gebruiken, dat is een MercatorApi.MercatorSqlCommand.
In de transactie van het bewaren, indien de property CommandForFinalTransaction niet "null" is, werkt Mercator gewoon verder. Mercator zorgt ervoor dat de properties Connection en Transaction automatisch afgerond worden. (Zo moet hij dit zelf niet aanvullen)
Bovendien verandert Mercator automatisch de instellingen @id, @journal et @piece hierdoor weten we welk document geldig is.

Hieronder een customizer voorbeeld voor een sequentie uit het commercieel beheer:
Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
using MercatorApi;
using MercatorUi;

namespace Billing
{
    public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
    {
        public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.DuringSave += BillingEngine_DuringSave;
        }

        public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.DuringSave -= BillingEngine_DuringSave;
        }

        void BillingEngine_DuringSave(object sender, MercatorUi.Engine.Gescom.BillingEngine.DuringSaveEventArgs e)
        {
            MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
             billingEngine.MercatorSqlCommandForFinalTransaction = new MercatorSqlCommand("update pieds_v set reference=rtrim(reference)+'*' where (id=@id) and (journal=@journal) and (piece=@piece)");
        }
    }
}
 

Goeiedag,

Wij wensen een SQL-query uit te voeren in ons project, in de SQL-transactie van het opgeslagen document. Dit om te verzekeren dat de query zal uitgevoerd worden bij het bewaren, en goed teruggegeven indien het bewaren niet uitgevoerd is. Hoe moeten we verder?



Functionele cookies: Cookies die nodig zijn voor het gebruik van de website en voorkeurscookies. Ze bevatten geen persoonsgegevens. (Meer informatie)

Analytische cookies: Verzamelen van statistieken met betrekking tot het gedrag van internetgebruikers. (Meer informatie)

Marketingcookies: Om bezoekers op verschillende websites te volgen voor advertentiedoeleinden. (Meer informatie)