De onderstaande code laat zien hoe de sequenties die aan de gebruiker worden weergegeven tijdens een transformatie van een commercieel beheersdocument kunnen worden gefilterd. Het maakt gebruik van het evenement InitiateTransform van de BillingEngine.
💡 Merk op dat deze code niet nodig is als het gewenste gedrag al kan worden bereikt met de optie "Filteren op sequentie" (id = FILTR_SEQA), die ook van toepassing is op de selectie van sequenties op dit punt in het programma.
namespace Billing
{
public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
{
public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
{
billingEngine.InitiateTransform += BillingEngine_InitiateTransform;
}
public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
{
billingEngine.InitiateTransform -= BillingEngine_InitiateTransform;
}
private void BillingEngine_InitiateTransform(object sender, MercatorUi.Engine.Gescom.BillingEngine.InitiateTransformEventArgs e)
{
MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
e.ComplWhere = "journal<>'...'";
}
}
}
Het is gebruikelijk om sequenties te willen beperken tot sequenties die beginnen met een eerste teken dat identiek is aan dat van de startsequentie:
e.ComplWhere = string.Format("journal like '{0}%'", billingEngine.Journal.Substring(0, 1));