U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Voorkom het centraliseren van een sequentie uit het commercieel beheer

0000002681     -      22-12-2016

Bij het centraliseren van de boekhouding biedt Mercator een boomstructuur aan om de sequenties te selecteren uit het commercieel beheer, die onderworpen kunnen worden aan die boekhoudkundige handeling. Standaard zijn er verschillende nodes aangeduid. Het is mogelijk om de centralisatie van een bepaalde sequentie te blokkeren door het vinkje te verwijderen en de bijbehorende node uit te schakelen. Dit kan gedaan worden via de Main customizer waarvan de code zich hieronder bevindt.

Om de aankopen node te bereiken vervangt men

accountingAskPostIntoAccouting.Tree.Nodes[0] 

met

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;
                }
            }
        }

    }
}