Le code ci-dessous montre comment filtrer les séquences affichées à l'utilisateur lors d'une transformation d'un document de la gestion commerciale. Il exploite l'événément InitiateTransform du BillingEngine.
💡 Notez que ce code n'est pas nécessaire si le comportement souhaité peut déjà être assuré par l'option "Filtre sur séquence" (id = FILTR_SEQA) qui s'applique aussi à la sélection des séquences à cet endroit du programme.
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<>'...'";
}
}
}
Il est fréquent de vouloir limiter les séquences à celles qui commencent par un premier caractère identique à celui de la séquence de départ :
e.ComplWhere = string.Format("journal like '{0}%'", billingEngine.Journal.Substring(0, 1));