Formulieren programmeren met het formulierscript
Met het formulierscript controleer en vul je invoer aan zonder netERP zelf te wijzigen.
Ontwerp en code
In de formulierontwerper wisselt F12 tussen Ontwerp en Code. F9 controleert het script, F1 opent de hulp „Wat kan het script?“ met 35 voorbeelden die je per dubbelklik invoegt. De taal is Pascal (netPascalScript) met Engelse namen.
Gebeurtenissen
- Formulier: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
- Veld: OnEnter, OnExit, OnChange, OnClick.
In de objectinspector maak je mit (neu) op het tabblad „Gebeurtenissen“ de passende routine aan, bijvoorbeeld FormBeforeSave. Lege routines verwijdert netERP bij het opslaan.
Voorbeeld
procedure FormBeforeSave(Sender: TObject);
begin
if Form.Field('description') = '' then
Form.Cancel('Voer de omschrijving in.');
end;
procedure CodeOnExit(Sender: TObject);
begin
Form.SetField('code', UpperCase(Form.Field('code')));
Form.SetEnabled('zip', Form.Field('country') = 'DE');
end;
Wat het script kan
Velden lezen en zetten (Form.Field, Form.SetField), velden in- en uitvouwen of verbergen of vergrendelen (SetVisible, SetEnabled), de focus zetten, een sectie openen, meldingen en vragen tonen (Message, Confirm) en opslaan of sluiten afbreken (Form.Cancel). Form.IsNew, Form.Module en Form.Id geven informatie over het record. De veldsleutels komen uit het ontwerp van het formulier.
Een fout in het script wordt één keer gemeld; het formulier blijft bedienbaar. Alleen Form.Cancel breekt een actie af.
