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

Customizers

0000001921     -      20/10/2017

Les customizers sont des assemblies .net qui, par leur nom, sont reconnus et pris en compte par Mercator pendant son exécution. Ces assemblies s'énumèrent comme suit :

  • AskDossiers : écran de sélection de dossier (gestion multi-dossiers)
  • HistCli : historique clients du menu "Fenêtres"
  • HistFou : historique fournisseurs du menu "Fenêtres"
  • HistProd : historique production du menu "Fenêtres"
  • HistCpta : historique comptabilité du menu "Fenêtres"
  • HistSer : historique n° de série du menu "Fenêtres"
  • HistRef : historique références du menu "Fenêtres"
  • HistTransf : historique des transferts de dépôt du menu "Fenêtres"
  • CliActions, FouActions, StockActions, ... : historique des actions du CRM (par le menu correspondant au signalétique en cours)
  • BrowseInSigCli, BrowseInSigStock, BrowseInSigFou, ... : liste de parcours des fiches de signalétiques à partir du signalétique
  • BrowseKeySearchCli, BrowseKeySearchStock, BrowseKeySearchFou, ... : liste de parcours des fiches de signalétiques à partir d'une recherche par clé - pour tous les signalétiques
  • BrowseFilterSearchCli, BrowseFilterSearchStock, BrowseFilterSearchFou, ... : liste de parcours des fiches de signalétiques à partir d'une recherche multi-critères - pour tous les signalétiques
  • SigCli, SigFou, SigStock, ... : écran de signalétique et classe auxiliiaire de signalétique - pour tous les signalétiques
  • Param : écran de paramètres de Mercator,  hormis
    • ParamCodaModesForm
    • ParamIdentifForm
    • ParamIsArubaForm
    • ParamLotsFormulasForm
    • ParamOptionsForm
    • ParamRisForm
  • Main : actions lors de divers évènements de Mercator

Un customizer doit contenir un espace de nom égal à la chaîne de caractères reprise en gras dans la liste ci-dessus.
Attention : l'espace de nom est case-sensitive.

Un customizer doit contenir une classe dont le nom est Customizer.
Attention : le nom de classe est case-sensitive.

Un customizer peut contenir d'autres classes et/ou espaces de nom.

Un customizer peut implémenter une ou plusieurs interfaces.


Exemple minimal de customizer AskDossiers, qui implémente l'interface MercatorUi.ICustomizers.IStringUpdater.

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

namespace AskDossiers
{
     public class Customizer : MercatorUi.ICustomizers. IStringUpdater
    {

         public string StringUpdate( string ReqSql)
        {
             return ReqSql;
        }
    }
}

Dans cet exemple, la méthode StringUpdate est nécessaire uniquement pour répondre aux exigences de l'interface IStringUpdater.

 


Les codes C# correspondant à des customizers peuvent être stockés directement dans la base de données SQL (table ASSEMBLIES). Pour cela, il suffit d’utiliser les boutons "Ouvrir de Base de Données" et "Sauvegarder vers Base de Données".
Ce système présente ces avantages :

  • Cela limite le nombre de DLL placées dans le répertoire principal de Mercator.
  • Cela limite le nombre de fichiers accédés en tant que fichier dans un volume partagé (accès non client-serveur).
  • Cela permet toute modification et recompilation du code directement depuis Mercator sans devoir redémarrer le programme.

Pour ces raisons, Mercator recommande que tous les customizers mis en place soient stockés dans la base de données.

Pour retirer un customizer de la base de données, il suffit de l’ouvrir avec le bouton "Ouvrir de Base de Données" et ensuite d’utiliser le bouton "Supprimer dans Base de Données".

Remarques :

  • La sauvegarde dans la base de données ne s’applique qu’au code C# et est limitée aux customizers.
  • Un code sauvegardé dans la base de données se reconnaît par ce symbole dans le nom de l’onglet correspondant : CustomizerInAssemblies

 

Ces customizers sont de véritables points d'entrée dans le coeur même de Mercator. En effet, la majorité des interfaces utilisables dans ces customizers  font référence à des méthodes qui recevront comme paramètre une fenêtre. A partir de ce paramètre, il sera dès lors possible d'agir de façon extrêmement large et variée :

  • modifier les propriétés publiques de cette fenêtre
  • ajouter des évènements liés à cette fenêtre
  • modifier les propriétés publiques des objets publics contenus dans cette fenêtre
  • ajouter des évènements liés aux objets publics contenus dans cette fenêtre
  • pouvoir appeler toute méthode publique.

 

Voir aussi cette information importante.