Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Comment regrouper des lignes contenues dans le BillingEngine selon certains critères ?

0000002449     -      21/06/2016

Ce customizer permet de regrouper les lignes contenues dans le BillingEngine selon divers critères.

Il fonctionne de la même manière que le regroupement obtenu via clic-droit + regrouper dans la grille d'encodage.

Il est possible de passer en paramètre des critères additionnels de non-regroupement (en plus des critères standard de Mercator).

Zoom
private void billingEngine_BeforeSave(object sender, MercatorUi.Engine.Gescom.BillingEngine.BeforeSaveEventArgs e)
{
    MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine) sender;
    billingEngine.LIGNES.Columns.Add("NEG", typeof(bool));
    billingEngine.LIGNES.Columns.Add("NONREG", typeof(int));
    int i = 1;
    foreach (DataRow dr in billingEngine.LIGNES.Select("id_article <> ''"))
    {
        if (Math.Round(Convert.ToDouble(dr["q"]), Globals.N_DEC_Q) >= 0)
            dr["NEG"] = false;
        else
            dr["NEG"] = true;
        if ((dr["id_article"].ToString() == "365737") || (dr["id_article"].ToString() == "365738"))
        {
            dr["NONREG"] = i;
            i++;
        }
        else
            dr["NONREG"] = 0;
    }
    billingEngine.Group(new string[]{"PU","REMISE","NEG","NONREG"});
    billingEngine.LIGNES.Columns.Remove("NEG");
    billingEngine.LIGNES.Columns.Remove("NONREG");
}