Masken programmieren mit dem Maskenskript
Mit dem Maskenskript prüfst und ergänzt du Eingaben, ohne netERP selbst zu ändern.
Entwurf und Code
Im Designer auf die Maske wechselt F12 zwischen Entwurf und Code. F9 prüft das Skript, F1 öffnet die Hilfe „Was kann das Skript?“ mit 35 Beispielen, die du per Doppelklick einfügst. Die Sprache ist Pascal (netPascalScript) mit englischen Namen.
Ereignisse
- Maske: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
- Feld: OnEnter, OnExit, OnChange, OnClick.
Im Objektinspektor legt (neu) auf dem Reiter „Ereignisse“ die passende Routine an, zum Beispiel FormBeforeSave. Leere Routinen entfernt netERP beim Speichern.
Beispiel
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;
Was das Skript kann
Felder lesen und setzen (Form.Field, Form.SetField), Felder ein- und ausblenden oder sperren (SetVisible, SetEnabled), den Fokus setzen, eine Sektion öffnen, Meldungen und Rückfragen zeigen (Message, Confirm) und Speichern oder Schließen abbrechen (Form.Cancel). Form.IsNew, Form.Module und Form.Id geben Auskunft über den Datensatz. Die Feldschlüssel stammen aus dem Design der Maske.
Ein Fehler im Skript wird einmal gemeldet; die Maske bleibt bedienbar. Nur Form.Cancel bricht eine Aktion ab.
