1.6.5.8.2. Blocco [impostazioni] Chiave "GenerationFilterRules" - Filtrare i progetti e le righe per la generazione del geoindice.

Nel File di configurazione CADENAS_SETUP/geomsearch.cfg possibile Definire un set di regole di filtro. Se una parte soddisfa almeno una , verrà filtrato e quindi rimosso dalla generazione dell'indice eccetto.

  1. Nel blocco [settings], nella chiave GenerationFilterRules separati da virgole Elenco di tutti i nomi delle regole.

    [settings]
    GenerationFilterRules=Rule1,Rule2,etc.

  2. Per ogni regola, imposta un blocco dopo il Schema GenerationFilterRule_Rulex a.

    Esempio:

    [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

Spiegazione delle singole chiavi:

Impostazioni generali

  • Cataloghi: Cataloghi a cui si applica la regola

  • AlgoTypes: Tipi di indice che NON devono essere generati (separati da virgole)

    Valori possibili: TOPO,GEO,PARTIAL

  • Congiunzione: AND | OR

    Si riferisce alle condizioni di progetto e alle condizioni di riga. Se esiste al massimo una condizione di progetto e una condizione di riga, non importa se OR o AND.

    Se OR, viene applicato un filtro di progetto o di linea se si applica UNA regola. Se AND, devono essere applicate tutte le regole non vuote.

Impostazioni per il percorso del progetto

  • PrjRegExp: Specifica di un'espressione regolare. Questa viene verificata per il percorso del progetto relativo al catalogo e filtrata se corrisponde.

    Esempio: tutti i progetti che contengono "asm" in qualsiasi punto del percorso vengono filtrati utilizzando la seguente espressione regolare.

    .*asm.*

  • PrjScriptCallbackFile: Percorso dello script vbb che contiene il callback.

  • PrjScriptCallbackFunction: il metodo Funzione PrjScriptCallbackFunction chiamato con il percorso del progetto come parametro e dovrebbe restituire 1, se vuoi filtrare, altrimenti 0.

Impostazioni per la riga della tabella

  • LineFilterCount: Numero di condizioni di linea

    Esempio con 3 condizioni di linea:

    LineFilterCount=3
    LineFilterVar0=A
    LineFilterRegExp0=.*ab.*
    LineFilterVar1=B
    LineFilterRegExp1=.*ac.*
    LineFilterVar2=C
    LineFilterRegExp2=.*ad.*
    

  • LineFilterVar0: nome della variabile dalla tabella (0 deve essere sostituito dall'indice della condizione).

  • LineFilterRegExp0= Il valore caratteristico della variabile denominata deve corrispondere all'espressione regolare per essere filtrato. (0 deve essere sostituito dall'indice della condizione).

  • LineScriptCallbackFile: Percorso dello script vbb che contiene il callback.

  • LineScriptCallbackFunction: il metodo Funzione LineScriptCallbackFunction chiamato con la tabella come parametro e dovrebbe restituire 1 se dovrebbe essere filtrato, altrimenti 0.

    L'esempio seguente filtra tutte le righe con un ID riga superiore a 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