A program bizonyos gridben található termékkód mezőiről elindítható a termékkód maszk szerkesztő. Ezzel maszkolás jellegűen megadhatjuk, hogy a gridsor (táblázatsor) jelentését mely kódú termékekre szűkítve kívánjuk érvényesíteni.
Fontos tudni, hogy a termékkódmaszk mezőben nem adhatunk meg ÉS , VAGY kapcsolatot sem! Azaz a '+', '-' jelek itt nem műveleti jelek, hanem mint adatot jelentő karakterek használhatók. Nyilván csak akkor van értelmük használni, ha a termékkódban konkrétan benne van a '+', vagy '-' jel.
Fontos tudnivaló az is, hogy a táblázatbeli sorrend egyben kiértékelési sorrend is, ami a következő módon működik: a termék, ha az első sor feltételébe beleesik, akkor az érvényes lesz rá, de ha a következő sorok valamelyikébe is beleesik, akkor az felülbírálja az előző kedvezményt és ebben a lentebbi sorban megadott kedvezmény fog rá érvényesülni! Tehát a lentebbi az "erősebb".
Termékkód maszkot használ a rendszer például a Csoportos fizetési feltétel gridjeiben az engedmények maszkkal történő szűkítésre; a Termékeknénti forlaom lista a szűrések beállítására. Tipikus példa, hogy az alábbi módon felépített cikk-kódrendszerünkből (XY-ABC/NNNN) kedvezményt pl. csak azokra a cikkekre kívánunk adni, amely kódjában benne van az ABC karakterlánc.
Az üresen hagyott szerkesztő ablak azt jelenti, hogy nem került szűkítésre az az állomány, amelyre vonatkozik a sor.
Az ablak négy területből áll. A legfelső mezőterületbe (maszkszerkesztő terület) kell beírni a megfelelő szintaxissal az alkalmazandó maszkot. Amennyiben pontosan ismerjük a szintaxist és az adatmező kódját, akkor itt direktben szerkeszthetjük az alkalmazandó maszkunkat. Viszont ha nem akkor, a lenti gombok segítségével lépésről-lépésre tölthetjük ki a sort különböző műveleti jelekkel és értékekkel. A műveleti jeleken kívül a maszkszerkesztő területen mindig a termék(ek) kódja kerül megjelenítésre.
A második terület (az első alatt) a maszkszerkesztésben résztvevő termék kódja, vagy megnevezése szerinti sorrendben legördíthető menüből való kiválasztását lehetővé tevő kétmezős terület.
A következő terület a gombsáv, ami 5 nyomógombot tartalmaz. Ezek a:
- ?
- *
- Teszt
- Rendben
- Mégse
Az utolsó terület a "Teszt" gomb hatására adattartalmat kapó teszteredmény terület, ahol a szerkesztés lezárása előtti állapotú maszk képletünk hatását tudjuk leellenőrizni.
A "?" gombbal a maszkhoz adhatunk hozzá egy kérdőjelet, ami azt jelenti, hogy a termékkód kérdőjellel azonos pozíciójában bármely karakter esetén bekerül a találati halmazba a termék.
A "*" gomb megnyomására bekerülő szorzásjel azt jelenti, hogy a termékkód szorzásjellel azonos pozíciójától kezdve bármely karakter esetén bekerül az eredményhalmazba.
Az "Rendben" gomb hatására a maszkképlet szerkesztő területen lévő képletet beilleszti a program a termékkódmaszk mezőbe.
A "Mégse" gomb hatására bezárul a kifejezés szerkesztő és az "Engedélyezett" mező értéke nem módosul.
Egyszerű példa a használatra:
[^b]* A szögletes zárójelben megadott rész egy karakterről rendelkezik és mivel az első a mezőben, ezért konkrétan a termékkód első karakteréről. A 'b' azt jelenti, hogy amely cikkek kódjának (első karakterének) tartalma 'b', azokra vonatkozik a sorbeli feltétel. a '^' pedig negálást jelent, tehát azt, hogy nem 'b'. Tehát azokra a cikkekre, amelyek első karaktere nem 'b', a többi karakterük pedig akármi.
b* A másik tipikus megadási lehetőség szerint azok a cikkek, amelyeknek első karaktere 'b', a többi karaktere pedig akármi.
Másik példa a használatra:
* 15%
xxx (konkrét termékkód) 5%
Így megadva a kedvezményt azt érjük el, hogy minden termék 15%-ot kap kivéve a konkrét termékkóddal megadott, mert az csak 5%-ot fog kapni. Itt fontos a sorrend is!
Termékkódmaszk kifejezések szintaktikája:
Jel Jelentés
* Joker karakterlánc. Pl.: közvetlenül a kód után szorzásjel jelenti, hogy azokkal a kódokkal rendelkező elemek lesznek kiválasztva, amelyek a szorzásjel elé írt kódrészlettel kezdődnek függetlenül a kódjuk további részétől.
? Joker karakter. A kódban a megadott pozíción tetszőleges értékkel rendelkező elem(ek).
A fenti gombok ? és * karaktereket emelnek be. Mentéskor a *-ból %, a ?-ből _ lesz, betöltéskor visszaíródik. %-ot és _-t nem lehet beírni.