Article: AN0001866Updated:
Na třídě je možné definovat pravidlo, které musí být splněno, aby záznam mohl být uložen. V sekci Podmínka definujeme výraz, který musí být vyhodnocen jako pravdivý, aby záznam mohl být uložen. Hodnoty z jednotlivých sloupců záznamu získáme pomocí funkce column('kód sloupce').
Dále je možné před uložením záznamu spouštět skript, který ošetří i složité komplexní situace.
Regulární výrazy
V podmínce je možné použít funkci ismatchregex a řešit tak např. správnost hodnoty zadávané jako MAC adresa:
not(ismatchregex(column('shorttext'),'[0-9a-f][0-9a-f][:-][0-9a-f][0-9a-f][:-][0-9a-f][0-9a-f][:-][0-9a-f][0-9a-f][:-][0-9a-f][0-9a-f][:-][0-9a-f][0-9a-f]'))
Unikátnost záznamů
Pokud chceme zajistit unikátnost hodnot ve sloupci nebo kombinaci sloupců, použijeme pravidlo Před uložením nového/existující záznamu: Spustit skript, který zkontroluje dosavadní hodnoty ve třídě. Níže uvedený skript zajistí, že ve třídě je v daném sloupci daná hodnota pouze jednou:
var s = OGActualDataRow.GetCol_SmallText2(3352);
if ( s != '')
{
var f = OG.DataRow.GetDataRowFilter(251);
f.SetColumnData( 3352, s);
f.Filter_OnlyActive = true;
if ( OG.DataRow.ExistRowByFilter(f))
OGActualMessage.SetError( 'Chyba, "' + s + '" je již vytvořeno.');
return true;
}
}