Dans la boîte de dialogue de l'historique de la gestion commerciale, filtrer les séquences

0000003001     -      21/01/2021

Ce customizer montre comment filtrer par code les séquences affichées dans la boîte de dialogue de l'historique des documents de la gestion commerciale. Ceci se fait par un customizer HistCli qui implémente l'interface IDialogLoadCustomizer. Il exploite la propriété FilterPredicate de la form, qui peut recevoir une fonction prédicat dont le paramètre sera de type MercatorUi.Forms.Hist.HistDialogs.HistAskDoc.SequencDescriptor, contenant :

  • Journal
  • Lib
  • Type
  • Ordre

(Les autres informations de la séquence devront être, le cas échéant, récupérées dans la table SEQUENC de la base de données).

Cette fonction prédicat doit renvoyer un booléen :

  • true : l'élément sera affiché
  • false : l'élément ne sera pas affiché.

Lors de l'installation de la fonction, il est nécessaire d'appeler la méthode RefreshListViewSequenc, puisque son installation est ultérieure au premier affichage effectué par Mercator. Ensuite, il n'est plus nécessaire d'appeler cette méthode, sauf si la fonction prédicat tient compte d'éléments qui lui sont extérieurs.

Ci-dessous un exemple de code :

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

namespace HistCli
{
    public class Customizer : MercatorUi.ICustomizers.IDialogLoadCustomizer
    {

        public void DialogLoadCustomize(System.Windows.Forms.Form form)
        {
            MercatorUi.Forms.Hist.HistDialogs.HistAskDoc histAskDoc = (MercatorUi.Forms.Hist.HistDialogs.HistAskDoc)form;
            histAskDoc.FilterPredicate = (sequencDescriptor) =>
            {
                if (sequencDescriptor...)
                    return true;
                else
                    return false;
            };
            histAskDoc.RefreshListViewSequenc();
        }
    }
}