Programiranje maski uz Maskenskript

Uz Maskenskript provjeravaš i dopunjavaš unose, bez promjene samog netERP-a.

Dizajn i kod

U Dizajneru maski F12 prebacuje između dizajna i koda. F9 provjerava skript, F1 otvara pomoć „Šta skript može?“ sa 35 primjera koje umećeš dvostrukim klikom. Jezik je Pascal (netPascalScript) s engleskim imenima.

Događaji

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

U Objektinspektoru klikom na (neu) na kartici „Događaji“ kreiraš odgovarajuću rutinu, na primjer FormBeforeSave. Prazne rutine netERP uklanja prilikom spremanja.

Primjer

procedure FormBeforeSave(Sender: TObject);
begin
  if Form.Field('description') = '' then
    Form.Cancel('Molimo unesite naziv.');
end;

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

Šta skript može

Čitati i postavljati polja (Form.Field, Form.SetField), prikazivati ili skrivati polja i onemogućavati ih (SetVisible, SetEnabled), postaviti fokus, otvoriti sekciju, prikazati poruke i upite (Message, Confirm) i prekinuti spremanje ili zatvaranje (Form.Cancel). Form.IsNew, Form.Module i Form.Id daju informacije o zapisu. Ključevi polja potječu iz dizajna maske.

Greška u skriptu prijavi se jednom; maska ostaje upotrebljiva. Samo Form.Cancel prekida akciju.