In het rooster van de historieken of in de ondervraging van projecten toont Mercator de verkoop-en aankoopdocumenten waarbij een project is gelinkt in de lijnen (ID_PROJET). De link naar het project gebeurt echter vaak alleen in de hoofding waardoor een customizer moet ingesteld worden om de lijnen automatisch aan te vullen met het project-ID van de hoofding en controles uit te voeren in het geval van een verandering van klant, ...
Ter herinnering : het project kan worden gekoppeld aan de hoofding van het document via een link naar het informatiebestand : ID_PROJ, ID_PROJ1, ID_PROJ2, ...
Onderstaande code maakt het mogelijk om dit te vereenvoudigen door aan Mercator aan te geven dat het in deze twee roosters rekening moet houden met de id van de hoofding wanneer het project niet in de lijn is gespecificeerd. In dit voorbeeld zijn de aanvullende gegevens waarmee rekening wordt gehouden PIEDS_V.ID_PROJ.
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;
using System.Drawing;
using System.Windows.Forms;
namespace SigProj
{
public class Customizer : MercatorUi.ICustomizers.IStringUpdater
{
public string StringUpdate(string stringToModify)
{
string id = Api.StrExtract(stringToModify, "<ID>", "</ID>");
if ((id == "HISTORY_PROJ") || (id == "PROJ_INTERRO"))
stringToModify = stringToModify.Replace("(lignes_v.id_projet=@id)", "((lignes_v.id_projet=@id) or ((lignes_v.id_projet='') and (pieds_v.id_proj=@id)))");
return stringToModify;
}
}
}
Hetzelfde proces kan van toepassing zijn op het 4e informatiebestand :
- SigProj → SigDest
- ID_PROJET → ID_DESTIN
- ID_PROJ → ID_DEST
Minimum versie MercatorUi.dll : 10.9.149