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ą.
