Programování formulářů pomocí skriptu formuláře

Se skriptem formuláře kontroluješ a doplňuješ vstupy, aniž bys měnil samotný netERP.

Návrh a kód

Ve návrháři formulářů přepíná F12 mezi návrhem a kódem. F9 kontroluje skript, F1 otevře nápovědu „Co skript umí?“ s 35 příklady, které vložíš dvojitým kliknutím. Jazyk je Pascal (netPascalScript) s anglickými názvy.

Události

  • Formulář: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
  • Pole: OnEnter, OnExit, OnChange, OnClick.

V inspektoru objektu vytvoříš (nová) na záložce „Události“ odpovídající 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('Zadejte prosím označení.');
end;

procedure CodeOnExit(Sender: TObject);
begin
  Form.SetField('code', UpperCase(Form.Field('code')));
  Form.SetEnabled('zip', Form.Field('country') = 'DE');
end;

Co skript umí

Skript umí číst a nastavovat pole (Form.Field, Form.SetField), pole skrývat a zobrazovat nebo zamykat (SetVisible, SetEnabled), nastavit fokus, otevřít sekci, zobrazit hlášení a dotazy (Message, Confirm) a přerušit ukládání 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 formuláře.

Chyba ve skriptu se nahlásí jednou; formulář zůstane použitelný. Pouze Form.Cancel přeruší akci.