Ce customizer montre comment garder les numéros de série gérés en IN/OUT lors de l'import d'une unité logistique (SSCC).
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.BeforeInsertSSCC += BillingEngine_BeforeInsertSSCC;
}
public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
{
BillingEngine.BeforeInsertSSCC -= BillingEngine_BeforeInsertSSCC;
}
private void BillingEngine_BeforeInsertSSCC(object sender, MercatorUi.Engine.Gescom.BillingEngine.BeforeInsertSSCCEventArgs e)
{
MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
if ((billingEngine.TypeVA == MercatorUi.Engine.Gescom.Billing.TypeVAEnum.V) && !e.DtSSCC.RowsEnumerable(dr => dr["typedocforsscc"].ToString() == "V").Any())
e.KeepSerialNumber = true;
}
}
}
Note : l'exemple donné concerne BillingEngine, mais il fonctionne aussi pour TransfertEngine, il faut alors remplacer les BillingEngine par TransfertEngine.