Klíčové slovo emptyValue
V některých vlastnostech, které definují logické výrazy pro různé účely, například appear-if nebo edit-if, je někdy zapotřebí ověřit zda je určitá kolonka vyplněná či nikoli. U textů je to prosté porovnání se zápisem pro prázdný řetězec, tedy např.:
Poněkud složitější situace je ale u jiných datových typů, kde například u typů date a time nemůžeme tento výraz použít, nejde o řetězec, ale spíše o číselný údaj. Pro zjištění, zda je kolonka prázdná či nikoli je tedy možné v těchto případech použít porovnání s klíčovým slovem:
Tedy například:
Tento výraz vrací logické true, pokud datum narození není vyplněn. Obdobně lze tuto hodnotu použít i u číselných typů, jako je numb a curr nebo u logického typu bool. U číselných typů sice můžeme sice použít zápis např.:
Tady ale narazíme v případě, že číslo je nepovinné (a většina čísel nebývá povinná) a pak může uživatel hodnotu prostě smazat s tím, že do databáze se uloží null. Tento stav ověříme jedině pomocí klíčového slova emptyValue:
Velmi obdobná situace je u logických typů bool, kde na místo s čísly pracujeme s logickými hodnotami true / false, kde v případě, že v databázi z nějakého důvodu není uložena hodnota, ted jde o výskyt null, je v dokumentu obsahem takového uzlu prázdný řetězec. A opět platí, že řetězec není možné ve výrazech porovnávat s jinými typy než jsou opět řetězce a nemáme pro ověření prázdného pole jinou možnost než využit srovnání s klíčovým slovem emptyValue. U logických typů je ale potřeba počítat s jednou věcí. Prázdná hodnota je při běžném odkazu převáděna na logické false, takže např. výraz:
případně
- vrací hodnotu
truejak v případě, že je hodnota skutečně false, tak i v případě, že je prázdná. Naproti tomu výraz:
- obě situace rozliší a v případě, že hodnota chybí vrací
true, zatímco v případě, že je hodnota uvedena(ať jižtruenebofalse) vracífalse. Pokud bychom chtěli výraz vázat čistě na to, že je hodnota uvedena a že jde ofalse, pak samotný test nafalsenestačí a musíme uvést:
případně
Klíčové slovo emptyValue však není určeno pro zápis do výrazů pro filtry, zde se pracuje s obvyklým is [not] null.