Interface = MercatorUi.ICustomizers.IStringUpdater

0000001916     -      02-02-2016

Deze interface laat toe door Mercator gegenereerde tekenreeksen te bewerken en ze te wijzigen voordat Mercator ze gebruikt.

Hierna volgt de definitie van deze interface:

Zoom
public interface IStringUpdater
{
     string StringUpdate( string StringToModify);
}

De methode StringUpdate krijgt als parameter de te wijzigen tekenreeks en levert de eventueel gewijzigde tekenreeks af.

Dit proces wordt hoofdzakelijk toegepast op de SQL-opdrachten die Mercator genereert alvorens ze voor te leggen aan de SQL-server. Er moet dus voorzichtig worden omgesprongen met deze tool. Een ondoordachte opdrachtwijziging kan immers leiden tot onverwachte resultaten of de correcte werking van Mercator in het gedrang brengen.
We benadrukken hier dat Mercator geen enkele controle uitvoert op aldus opgelegde wijzigingen.

De interface kan worden geïmplementeerd in de onderstaande customizers:

  • AskDossiers: SQL-opdracht
  • HistCli: SQL-opdracht van de klantenhistoriek van het menu "Vensters"
  • HistFou: SQL-opdracht van de leveranciershistoriek van het menu "Vensters"
  • HistProd: SQL-opdracht van de productiehistoriek van het menu "Vensters"
  • HistCpta: SQL-opdracht van de boekhoudingshistoriek van het menu "Vensters"
  • HistSer: SQL-opdracht van de serienummerhistoriek van het menu "Vensters"
  • HistRef: SQL-opdracht van de referentiehistoriek van het menu "Vensters"
  • HistTransf: SQL-opdracht van de magazijnoverdrachtenhistoriek van het menu "Vensters"
  • HistActions: SQL-opdracht van de historiek van de CRM-acties (via het menu dat overeenstemt met het actieve informatiebestand)
  • BrowseCli, BrowseStock, BrowseFou ... : zoek- en bladerlijst van de informatiebestandfiches op basis van een informatiebestand
  • SigCli, SigFou, SigStock ... : alle roosters (andere dan de "user defined"-roosters in de informatiebestandschermen)
  • Param: SQL-opdracht voor het lezen van de gegevens in alle parametervensters (MercatorUi.Forms.Param...) behalve
    • ParamCodaModesForm
    • ParamIdentifForm
    • ParamIsArubaForm
    • ParamLotsFormulasForm
    • ParamOptionsForm
    • ParamRisForm
  • Gescom: opdrachten in verband met functies voor commercieel beheer andere dan BillingEngine en BillingForm
  • In de rapporteringcustomizers

Over de informatiebestandschermen

Als de aan het actieve informatiebestand gelinkte customizer de interface IStringUpdater implementeert, worden alle SQL-opdrachten van alle informatiebestandroosters (behalve de roosters waarvan de opdracht door de gebruiker wordt opgesteld) vastgelegd door StringUpdate. Om de wijziging te beperken tot een specifieke opdracht (bv. enkel de klantenhistoriek), moet men de opdracht-ID inlezen die als commentaar is ingevoerd in de SQL-code. Deze ID kan als volgt worden verkregen en gebruikt:

Zoom
public string StringUpdate( string StringToModify)

    string id = Api .StrExtract(StringToModify, "/*<ID>" , "</ID>*/" ); 
    if (id = "HISTORY_CLI" )
    {
        StringToModify = ...
    } 
    else if (id = "TARCLI" )
    {
        StringToModify = ...
    } 
    return StringToModify;
}

Voorbeelden