Programarea formularelor cu Scriptul pentru formulare

Cu scriptul pentru formulare verifici și completezi datele introduse fără a modifica netERP în sine.

Proiectare și cod

În Designerul de formulare F12 comută între Proiectare și Cod. F9 verifică scriptul, F1 deschide ajutorul „Ce poate face scriptul?” cu 35 de exemple pe care le inserezi prin dublu-clic. Limbajul este Pascal (netPascalScript) cu denumiri în engleză.

Evenimente

  • Formular: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
  • Câmp: OnEnter, OnExit, OnChange, OnClick.

În Inspectorul de obiecte, (nou) pe fila „Evenimente” creezi rutina corespunzătoare, de exemplu FormBeforeSave. Rutinele goale sunt eliminate de netERP la salvare.

Exemplu

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;

Ce poate face scriptul

Citește și setează câmpuri (Form.Field, Form.SetField), ascunde/afișează sau blochează câmpuri (SetVisible, SetEnabled), setează focalizarea, deschide o secțiune, afișează mesaje și solicitări de confirmare (Message, Confirm) și anulează salvarea sau închiderea (Form.Cancel). Form.IsNew, Form.Module și Form.Id oferă informații despre înregistrare. Cheile câmpurilor provin din designul formularului.

O eroare în script va fi raportată o singură dată; formularul rămâne utilizabil. Doar Form.Cancel întrerupe o acțiune.