Le module décrit ici permet de filtrer les enregistrements venant d'un site distant via McdServerService. Ceci se fait par un customizer de type McdClient. Cela se fait en implémentant l'interface MercatorUi.ICustomizers.IStringUpdater.
Le customizer est à installer côté "site distant" (MCD ou Dist). Il agit cependant sur la requête exécutée sur le site central (d'où la terminaison Remote dans l'id de la requête).
Ce customizer tient également compte de la valeur de l'option "Articles : exclure binaires dans recherches" (ID = RECB_STOCK) du menu "Outils / Options".
Le code s'établit comme suit :
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;
namespace McdClient
{
public class Customizer : MercatorUi.ICustomizers.IStringUpdater
{
public string StringUpdate(string StringToModify)
{
string id = Api.StrExtract(StringToModify, "<ID>", "</ID>");
if (id == "InSigSTOCKRemote")
{
MercatorUi.Sig.Sig sig = MercatorUi.Sig._SigsStatic.SigByModule(MercatorUi.Sig._SigEnum.STOCK);
StringToModify = StringToModify.Replace(" * ", " " + sig.FieldsListForSelectRtrimNoBytesForced + " ");
}
return StringToModify;
}
}
}
Autres liens concernant la configuration des échanges via MCDServerService :