Formų programavimas naudojant formų skriptą

Su formų skriptu galite tikrinti ir papildyti įvedamus duomenis, nekeisdami pačio netERP.

Dizainas ir kodas

Formų dizaineryje F12 pereina tarp dizaino ir kodo. F9 patikrina skriptą, F1 atveria pagalbą „Ką gali skriptas?“ su 35 pavyzdžiais, kuriuos įterpiate dukart spustelėję. Kalba yra Pascal (netPascalScript) su anglų pavadinimais.

Įvykiai

  • Forma: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
  • Laukas: OnEnter, OnExit, OnChange, OnClick.

Objektų inspektoriuje sukurkite (naujas) skirtuke „Įvykiai“ atitinkamą rutiną, pavyzdžiui FormBeforeSave. Tuščias rutinas netERP pašalina išsaugojant.

Pavyzdys

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;

Skripto galimybės

Galima skaityti ir nustatyti laukus (Form.Field, Form.SetField), užmirkyti ar parodyti laukus arba juos užrakinti (SetVisible, SetEnabled), nustatyti fokusą, atidaryti sekciją, rodyti pranešimus ir užklausas (Message, Confirm) bei nutraukti įrašymo arba uždarymo veiksmą (Form.Cancel). Form.IsNew, Form.Module ir Form.Id pateikia informaciją apie įrašą. Lauko raktai kilę iš formos dizaino.

Klaida skripte pranešama vieną kartą; forma lieka naudojama. Tik Form.Cancel nutraukia veiksmą.