Dla definiowalnych pól formularzy (cech) można stosować skrypty które rozszerzą standardowe możliwości formularzy. np. przeliczą dane z pól, zainicjują wartościami, ostrzegą o nieprawidłowej wartości itp.
Na początek garść przykładów:
onopen dla cechy typu "Kontakt". Ustawiamy wartość domyślną tylko na otwarciu nowego dokumentu:
if (('{FEATID:108}' === '') && {DIALOG_IS_NEW}) eval({$FEATID:108}.id+'_selectID(10039);');
onchange dla cechy typu select ({$FEATID:113}):
if ({$FEATID:113}.value == '78') { $({$FEATID:111}.id+'_75_chk').checked=true; $({$FEATID:111}.id+'_76_chk').checked=false; eval({$FEATID:108}.id+'_selectID(10039);'); } else { $({$FEATID:111}.id+'_75_chk').checked=false; $({$FEATID:111}.id+'_76_chk').checked=true; }
zaznacza checkboxy dla checklisty i dla wartosci 78 oraz
ustawia dla cechy {$FEATID:108} kontakt o id = 10039
{$FEATID:108} - jest reprezentowany przez komponent (HTMLElement) wyboru kontaktu
onfocus dla pola tekstowego ({$FEATID:110}) sumuje wartość z dwóch innych pól tekstowych:
{$FEATID:110}.value = parseFloat2({$FEATID:104}.value) + parseFloat2({$FEATID:109}.value);
Użycie SQL:
{$FEATID:115}.value = '{SQL::SELECT name_1 FROM contacts WHERE contid = {contid}}';
Wybór elementu z listy rozwijalnej na podstawie wartości z pola tekstowego z innej cechy:
if (parseFloat2({$FEATID:110}.value) > 10000) { SS({$FEATID:115}, 2); }