Programmering af masker med Maskeskriptet

Med Maskeskriptet validerer og supplerer du indtastninger uden at ændre netERP.

Design og kode

I Maskendesigneren skifter F12 mellem design og kode. F9 tester scriptet, F1 åbner hjælpen „Hvad kan scriptet?“ med 35 eksempler, som du indsætter ved dobbeltklik. Sproget er Pascal (netPascalScript) med engelske navne.

Hændelser

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

I Objektinspektøren opretter (ny) på fanen „Hændelser“ den passende rutine, for eksempel FormBeforeSave. Tomme rutiner fjerner netERP ved lagring.

Eksempel

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;

Hvad scriptet kan

Læse og sætte felter (Form.Field, Form.SetField), skjule eller vise felter eller låse dem (SetVisible, SetEnabled), sætte fokus, åbne en sektion, vise beskeder og spørgsmål (Message, Confirm) samt afbryde lagring eller lukning (Form.Cancel). Form.IsNew, Form.Module og Form.Id giver oplysninger om posten. Feltnøglerne stammer fra maskens design.

En fejl i scriptet rapporteres én gang; masken forbliver brugbar. Kun Form.Cancel afbryder en handling.