Dans le
Fichier de configuration CADENAS_SETUP/geomsearch.cfg
vous pouvez
Définissez un ensemble de règles de filtrage. Si une pièce répond à au moins un
, il sera filtré et donc supprimé de la génération d’index
sauf.
Dans le bloc
[settings]
, dans la tonalitéGenerationFilterRules
séparés par des virgules Liste de tous les noms de règles.[settings] GenerationFilterRules=Rule1,Rule2,etc.
Pour chaque règle, définissez un bloc après le Schéma
GenerationFilterRule_Rulex
à.[GenerationFilterRule_Rule1] Catalogs=cat/__partialtest AlgoTypes=PARTIAL,TOPO PrjRegExp=.*ass.* PrjScriptCallbackFile= PrjScriptCallbackFunction= LineFilterCount=1 LineFilterVar0=TYPE LineFilterRegExp0=.*ass.* Conjunction=AND LineScriptCallbackFile=test.vbb LineScriptCallbackFunction=checkLine
Explications sur les différentes clés :
Les catalogues: Catalogues auxquels la règle doit s'appliquer
AlgoTypes: Types d'index qui ne doivent PAS être générés (séparés par des virgules)
Se réfère aux conditions de projet et aux conditions de ligne. S'il n'y a qu'au plus 1 condition de projet et qu'au plus 1 condition de ligne, peu importe que ce soit OR ou AND.
Si OR, alors un filtre de projet ou de ligne est appliqué si UNE règle s'applique. Si AND, alors toutes les règles non vides doivent s'appliquer.
Paramètres du chemin de projet
PrjRegExp: indication d'une expression régulière. Celle-ci est testée sur le chemin du projet par rapport au catalogue. Si elle s'applique, le filtrage est effectué.
Exemple : tous les projets dont le chemin contient quelque part "asm" seront filtrés par l'expression régulière suivante.
.*asm.*
PrjScriptCallbackFile: Chemin d'accès au script vbb contenant le callback.
PrjScriptCallbackFunction : la fonction Fonction
PrjScriptCallbackFunction
appelé avec le chemin du projet comme paramètre et doit renvoyer 1, Si vous souhaitez filtrer, sinon 0.
Paramètres de la ligne de tableau
LineFilterCount (nombre de filtres ) : Nombre de conditions de ligne
Exemple avec 3 conditions de ligne :
LineFilterCount=3 LineFilterVar0=A LineFilterRegExp0=.*ab.* LineFilterVar1=B LineFilterRegExp1=.*ac.* LineFilterVar2=C LineFilterRegExp2=.*ad.*
LineFilterVar0: nom de la variable dans le tableau (0 doit être remplacé par l'index de la condition).
LineFilterRegExp0= La valeur caractéristique de la variable nommée doit correspondre à l'expression régulière pour être filtrée. (0 doit être remplacé par l'indice de la condition).
LineScriptCallbackFile: Chemin d'accès au script vbb contenant le callback.
LineScriptCallbackFunction : la fonction Fonction
LineScriptCallbackFunction
appelé avec la table comme paramètre et doit retourner 1 si doit être filtré, sinon 0.L'exemple suivant filtre toutes les lignes avec un Line-Id supérieur à 50000 :
function filterLines(table) dim row = table.SelectedRow dim lineId = row.Idnr if lineId > 50000 then filterLines = 1 else filterLines = 0 end if end function