Programowanie masek przy użyciu skryptu maski
Za pomocą skryptu maski sprawdzasz i uzupełniasz dane bez konieczności modyfikowania samego netERP.
Projekt i kod
Im Maskendesigner 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
- Maska: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
- Pole: OnEnter, OnExit, OnChange, OnClick.
Im Objektinspektor legt (nowa) auf dem Reiter „Ereignisse“ die passende Routine an, zum Beispiel FormBeforeSave. Leere Routinen entfernt netERP beim Speichern.
Przykład
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;
Co potrafi skrypt
Skrypt może odczytywać i ustawiać pola (Form.Field, Form.SetField), pokazywać i ukrywać pola lub blokować ich (SetVisible, SetEnabled), ustawiać fokus, otwierać sekcję, wyświetlać komunikaty i pytania potwierdzające (Message, Confirm) oraz przerywać zapis lub zamknięcie (Form.Cancel). Form.IsNew, Form.Module und Form.Id informują o rekordzie. Klucze pól pochodzą z projektu maski.
Błąd w skrypcie zostanie zgłoszony jeden raz; maska pozostaje dostępna do obsługi. Tylko Form.Cancel przerywa akcję.
