De onderstaande code maakt het mogelijk om bij invoer de serienummers automatisch te genereren, meestal in een aankoop sequentie. Het principe van deze code is om in dit venster te integreren en de gewenste lijnen te maken :
Dit is nodig omdat dit scherm een hele reeks controles op de serienummers uitvoert: uniekheid, lengte, ... Indien nodig, als een fout wordt gedetecteerd, blijft dit scherm zichtbaar en wordt het foutbericht weergegeven; de gebruiker kan de correcties vervolgens handmatig aanbrengen. Dit rechtvaardigt daarom waarom dit scherm, als er geen fout is, korte tijd zichtbaar is.
De code moet in een customizer Billing worden geplaatst die is gekoppeld aan de aankoop sequentie van het Commercieel Beheer. Voor dit voorbeeld maakt het 3 serienummers: ABC, DEF en GHE.
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Linq;
using System.Windows.Forms;
using MercatorApi;
using MercatorUi;
using MercatorExtensions;
using MercatorDatabase;
namespace Billing
{
public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
{
public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
{
BillingEngine.SerialSubEngine.AskSerialShown += BillingEngineSerialSubEngine_AskSerialShown;
}
public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
{
BillingEngine.SerialSubEngine.AskSerialShown -= BillingEngineSerialSubEngine_AskSerialShown;
}
void BillingEngineSerialSubEngine_AskSerialShown(object sender, MercatorUi.Engine.Gescom.SerialSubEngine.AskSerialShownEventArgs e)
{
if (e.GescomAskSerial.AllowMultiple && e.GescomAskSerial.Inward)
{
e.GescomAskSerial.ButtonGridIn.PerformClick(); // tonen grid
DataTable dt = (DataTable)e.GescomAskSerial.GridIn.DataSource;
dt.Rows.Add(new string[1] { "ABC" });
dt.Rows.Add(new string[1] { "DEF" });
dt.Rows.Add(new string[1] { "GHE" });
e.GescomAskSerial.ButtonOk.PerformClick();
}
}
}
}