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.
