1. Omezení daná pravidly třídy

    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;
          }
       }

×