Programmering av skjemaer med Skjema-skript

Med Skjema-skript kan du validere og supplere inntastinger uten å endre netERP selv.

Utforming og kode

I Skjemadesigner bytter F12 mellom utforming og kode. F9 sjekker skriptet, F1 åpner hjelpen «Hva kan skriptet?» med 35 eksempler som du legger inn ved dobbeltklikk. Språket er Pascal (netPascalScript) med engelske navn.

Hendelser

  • Skjema: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
  • Felt: OnEnter, OnExit, OnChange, OnClick.

I Objektinspektøren oppretter du (ny) på fanen «Hendelser» den passende rutinen, for eksempel FormBeforeSave. Tomme rutiner fjernes av netERP ved lagring.

Eksempel

procedure FormBeforeSave(Sender: TObject);
begin
  if Form.Field('description') = '' then
    Form.Cancel('Vennligst oppgi betegnelse.');
end;

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

Hva skriptet kan

Lese og sette felter (Form.Field, Form.SetField), vise eller skjule felt eller gjøre dem skrivebeskyttet (SetVisible, SetEnabled), sette fokus, åpne en seksjon, vise meldinger og forespørsler (Message, Confirm) og avbryte lagring eller lukking (Form.Cancel). Form.IsNew, Form.Module og Form.Id gir informasjon om posten. Feltnøklene kommer fra skjemaets design.

En feil i skriptet blir rapportert én gang; skjemaet forblir brukbart. Bare Form.Cancel avbryter en handling.