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

Empêcher la centralisation d'une séquence de la gestion commerciale

0000002681     -      22/12/2016

Lors de la centralisation en comptabilité, Mercator propose un arbre permettant la sélection des séquences de la gestion commerciale qui doivent faire l'objet de ce traitement comptable. Par défaut, les différents nœuds sont cochés. Il est possible de bloquer la centralisation d'une séquence déterminée en décochant et en désactivant le nœud correspondant. Cela peut se faire via le customizer Main dont le code est repris ci-dessous.

Pour atteindre le noeud des achats, il suffit de remplacer 

accountingAskPostIntoAccouting.Tree.Nodes[0] 

par 

accountingAskPostIntoAccouting.Tree.Nodes[1]

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;

namespace Main
{
    public class Customizer : MercatorUi.ICustomizers.IExec
    {

        public void Main(MercatorUi.ICustomizers.ExecAction Action)
        {
            if (Action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
            {
                Globals.Main.BaseFormCreating += new MercatorUi.Main.BaseFormCreatingEventHandler(Main_BaseFormCreating);
            }
            else if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
            {
                Globals.Main.BaseFormCreating -= new MercatorUi.Main.BaseFormCreatingEventHandler(Main_BaseFormCreating);
            }
        }

        void Main_BaseFormCreating(object sender, MercatorUi.Main.BaseFormCreatingEventArgs e)
        {
            if (e.Form is MercatorUi.Forms.Accounting.AccountingDialogs.AccountingAskPostIntoAccouting)
            {
                MercatorUi.Forms.Accounting.AccountingDialogs.AccountingAskPostIntoAccouting accountingAskPostIntoAccouting = (MercatorUi.Forms.Accounting.AccountingDialogs.AccountingAskPostIntoAccouting)e.Form;
                accountingAskPostIntoAccouting.Shown += new EventHandler(accountingAskPostIntoAccouting_Shown);
            }
        }

        void accountingAskPostIntoAccouting_Shown(object sender, EventArgs e)
        {
            MercatorUi.Forms.Accounting.AccountingDialogs.AccountingAskPostIntoAccouting accountingAskPostIntoAccouting = (MercatorUi.Forms.Accounting.AccountingDialogs.AccountingAskPostIntoAccouting)sender;
            accountingAskPostIntoAccouting.Shown -= new EventHandler(accountingAskPostIntoAccouting_Shown);

            DevComponents.AdvTree.Node node_ventes = accountingAskPostIntoAccouting.Tree.Nodes[0];
            foreach (MercatorUi._BaseClasses.DataRowNode node in node_ventes.Nodes)
            {
                if (node.Dr["journal"].ToString() == "NCV")
                {
                    node.Checked = false;
                    node.Enabled = false;
                    break;
                }
            }
        }

    }
}