bool isNew;
MercatorUi.Interfaces.IEngine engine;
MercatorUi.Engine.Gescom.BillingEngine billingEngine = null;
if ((HttpContext.Current.Session["CurrentEngineKey"] != null) && MercatorUi.Globals.EnginesUsedByExtApp.TryGetValue(HttpContext.Current.Session["CurrentEngineKey"].ToString(), out engine))
{
    billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)engine;
    isNew = false;
}
else
{
    isNew = true;
    billingEngine = MercatorUi.Engine.Gescom.BillingEngine.InitExisting(MercatorUi.Engine.Gescom.Billing.TypeVAEnum.V, 4, Id, Journal, Piece);
    if ((billingEngine.DataSet != null) && (!billingEngine.ReadOnly))
    {
        billingEngine.PiedsVRecord.DATE = DateTime.Today;
        HttpContext.Current.Session["CurrentEngineKey"] = billingEngine.UniqueIdForExtApp;
    }
    else
        billingEngine = null;
}