Programování masek pomocí skriptu formuláře
Se skriptem formuláře kontroluješ a doplňuješ vstupy, aniž bys měnil samotný netERP.
Návrh a kód
V návrháři formulářů přepíná F12 mezi návrhem a kódem. F9 zkontroluje skript, F1 otevře nápovědu „Co umí skript?“ s 35 příklady, které vložíš dvojklikem. Jazyk je Pascal (netPascalScript) s anglickými názvy.
Události
- Maska: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
- Pole: OnEnter, OnExit, OnChange, OnClick.
V Objektovém inspektoru založíš (neu) na kartě „Události“ příslušnou rutinu, například FormBeforeSave. Prázdné rutiny netERP při ukládání odstraní.
Příklad
procedure FormBeforeSave(Sender: TObject);
begin
if Form.Field('description') = '' then
Form.Cancel('Bitte die Bezeichnung angeben.');
end;
procedure CodeOnExit(Sender: TObject);
begin
Form.SetField('code', UpperCase(Form.Field('code')));
Form.SetEnabled('zip', Form.Field('country') = 'DE');
end;
Co skript umí
Čtení a zápis polí (Form.Field, Form.SetField), skrývání nebo uzamčení polí (SetVisible, SetEnabled), nastavení fokusu, otevření sekce, zobrazení hlášení a dotazů (Message, Confirm) a zrušení uložení nebo zavření (Form.Cancel). Form.IsNew, Form.Module a Form.Id poskytují informace o záznamu. Klíče polí pocházejí z návrhu masky.
Chyba ve skriptu je nahlášena jednou; formulář zůstane použitelný. Pouze Form.Cancel přeruší akci.
