Cet exemple montre comment déterminer des champs qui ne seront pas dupliqués lors de la duplication d'une fiche de signalétique. Cela se fait par un customizer de signalétique (SigCli, SigFou, SigStock, ...) en implémentant l'interface MercatorUi.ICustomizers.ISigCreated.
Dans la classe auxilliaire de signalétique correspondante, il suffit d'agir sur le dictionnaire FieldList qui contient la définition des champs de la table de base du signalétique.
L'exemple ci-dessous rend les champs suivants de la table DEST non duplicables :
- D_DATE de type datetime
- D_STRING de type char
- D_INT de type integer
public void SigCreated(MercatorUi.Sig. Sig Sig)
{
Sig.FieldList[ "D_DATE" ].SetNonDuplicable( new DateTime (1900, 1, 1));
Sig.FieldList[ "D_STRING" ].SetNonDuplicable( "" );
Sig.FieldList[ "D_INT" ].SetNonDuplicable(1);
}
Il faut noter que cela s'effectue par une modification du dictionnaire FieldList qui contient la définition des champs de la table de base du signalétique. L'appel de la méthode SetNonDuplicable permet de passer une valeur qui sera affectée au champ non duplicable lors de la duplication.
Il est obligatoire de respecter le type de valeur par rapport au type de champ.
Il faut indiquer le nom des champs en majuscule.