Filtrovanie číselníkov

Dáta číselníkov je možné filtrovať podľa špeciálnych parametrov alebo na základe všeobecných pravidiel. Pri filtrovaní podľa špeciálnych parametrov sa danému číselníku nastavia parametre mien platných len pre daný číselník. Tieto parametre môžu nadobúdať len dohodnuté hodnoty. Mená týchto parametrov a ich použitie sú podrobne popísané pri každom číselníku zvlášť, konkrétne v časti "Filtrovacie podmienky".

Pri filtrovaní podľa všeobecných pravidiel sa dáta filtrujú podľa kľúčov zobrazovaného číselníka. Pri filtrovaní sa používajú ďalej uvedené riadiace znaky, ktoré sa zadajú do parametra číselníka. Parameter má syntax "riadiace znaky=filtrovacie hodnoty". Podrobné použitie všeobecných pravidiel bude vysvetlené na príkladoch.

Povolené riadiace znaky:

Znaky uvozují název klíče.
Filtrování podle regulárního výrazu.
Filtrace za výčet hodnot. Jednotlivé hodnoty sa oddeľujú bodkočiarkou.
Negácia. Sú zobrazené všetky vety, ktoré nevyhovujú filtrovacím hodnotám.
Filtrováním se vynechají záznamy se zadaným vnitřním ID.
Zafiltrování jen za záznamy se zadaným vnitřním ID.

Použitie si ukážeme na číselníku skladových kariet:

V príklade sa zobrazia všetky skladové karty začínajúce na "S".

Set mApplication = CreateObject("AbraOLE.Application")
If mApplication.Login("Supervisor", "") Then' Vytvoření číselníku skladových karet
  Set mRoll = mApplication.GetRoll("S3WZQKDB5FDL342M01C0CX3FCC", 0)' Zadání filtrační podmínky - regulárního výrazu
  mRoll.Params.Add "@@^Code=^S*" 'Příkaz zafiltruje všechny skladové karty s kódem začínajícím na "S".
  ' Znak ^ před rovnítkem umožňuje filtrovat podle masky 
  ' Znak @ uvozuje jméno klíče, podle kterého se bude číselník filtrovat
  ' Znak ^ za rovnítkem znamená vyhledání následujícího znaku na začátku kódu 
  ' Znak * znamená libovolný počet opakování znaku 
  mOID = mRoll.SelectDialog2(True, "")' Zobrazení interního ID vybrané karty
  MsgBox mOID
End If

Ďalšie príklady filtračných podmienok pre skladové karty:

  1. Negace

    Zafiltrování všech skladových karet s kódem nezačínajícím na "S".

    mRoll.Params.Add "@!^Code=^S*"
  2. Filtrovanie za zoznam hodnôt.

    Znak # umožňuje zadať zoznam hodnôt kľúčov. Řídící znaky lze kombinovat. Zafiltrování karet s kódem začínajícím na S nebo na 1.

    mRoll.Params.Add "@#^Code=^S*;^1*"

    Zafiltrování karet s kódy S01,S02 a 12.

    mRoll.Params.Add "@#Code=S01;S02;12"
  3. Negácia zoznamu hodnôt.

    V seznamu zafiltrovaných skladových karet se neobjeví karty s kódy S01,S02 a 12.

    mRoll.Params.Add "@#!Code=S01;S02;12"
  4. Zafiltrování všech skladových karet s kódem začínajícím na "0" a vynechání karet s vnitřním ID 3100000101 a 4100000101.

    mRoll.Params.Add "@^Code=^0*"
    mRoll.Params.Add "_Excluded=3100000101;4100000101"
  5. Zafiltrování jen za skladové karty s vnitřním ID 3100000101 a 4100000101.

    mRoll.Params.Add "_Allowed=3100000101;4100000101"