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. L'exemple montré ici permet de n'importer que les clients dont le numéro de TVA commence par LU. Cela se fait en implémentant l'interface MercatorUi.ICustomizers.IStringUpdater.
Notons que le filtrage est appliqué sur la table CLI ainsi que sur la table TARCLI, afin de ne pas importer des tarifs particuliers de clients dont le n° de TVA ne commencerait pas par LU. 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).
Le code s'établit comme suit :
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
namespace McdClient
{
public class Customizer : MercatorUi.ICustomizers.IStringUpdater
{
public string StringUpdate(string StringToModify)
{
string id = Api.StrExtract(StringToModify, "<ID>", "</ID>");
if ((id == "InSigCLIRemote") || (id == "InTarCliRemote"))
StringToModify = StringToModify.Replace("where", "where (cli.c_num_tva like 'LU%') and ");
return StringToModify;
}
}
}
Autres liens concernant la configuration des échanges via MCDServerService :