Programovanie masiek pomocou Skriptu masiek

Pomocou Skriptu masiek overuješ a dopĺňaš zadávané údaje bez nutnosti upravovať samotný netERP.

Návrh a kód

V editore masiek prepína F12 medzi návrhom a kódom. F9 skontroluje skript, F1 otvorí nápovedu „Čo skript dokáže?“ s 35 príkladmi, ktoré vložíš dvojitým klikom. Jazyk je Pascal (netPascalScript) s anglickými názvami.

Udalosti

  • Maska: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
  • Pole: OnEnter, OnExit, OnChange, OnClick.

V Inšpektore objektu vytvoríš (nové) na karte „Udalosti“ príslušnú rutinu, napríklad FormBeforeSave. Prázdne rutiny netERP odstráni pri uložení.

Prí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;

Čo skript dokáže

Čítanie a nastavovanie polí (Form.Field, Form.SetField), zobrazovanie alebo skrývanie polí a ich zablokovanie (SetVisible, SetEnabled), nastavenie fokusu, otvorenie sekcie, zobrazovanie hlásení a potvrdení (Message, Confirm) a zrušenie ukladania alebo zatvorenia (Form.Cancel). Form.IsNew, Form.Module a Form.Id poskytujú informácie o zázname. Kľúče polí pochádzajú z návrhu masky.

Chyba v skripte sa oznámi len raz; maska zostane ovládateľná. Len Form.Cancel preruší akciu.