Programowanie masek za pomocą skryptu maski

Dzięki skryptowi maski weryfikujesz i uzupełniasz wpisy bez modyfikowania samego netERP.

Projekt i kod

W Projektancie masek klawisz F12 przełącza między projektem a kodem. F9 sprawdza skrypt, F1 otwiera pomoc „Co potrafi skrypt?” z 35 przykładami, które wstawiasz przez podwójne kliknięcie. Język to Pascal (netPascalScript) z angielskimi nazwami.

Zdarzenia

  • Maska: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
  • Pole: OnEnter, OnExit, OnChange, OnClick.

W inspektorze obiektów (nowa) na zakładce „Zdarzenia” tworzysz odpowiednią procedurę, na przykład FormBeforeSave. Puste rutyny netERP usuwa podczas zapisywania.

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

Możesz odczytywać i ustawiać pola (Form.Field, Form.SetField), pokazywać lub ukrywać pola oraz blokować je (SetVisible, SetEnabled), ustawiać fokus, otwierać sekcję, wyświetlać komunikaty i pytania potwierdzające (Message, Confirm) oraz anulować zapis lub zamknięcie (Form.Cancel). Form.IsNew, Form.Module i Form.Id dostarczają informacji o rekordzie. Klucze pól pochodzą z projektu maski.

Błąd w skrypcie jest zgłaszany tylko raz; maska pozostaje używalna. Tylko Form.Cancel przerywa akcję.