Програмування масок за допомогою скрипта маски

За допомогою скрипта маски ви перевіряєте та доповнюєте введені дані, не змінюючи сам netERP.

Дизайн і код

У конструкторі масок F12 перемикає між дизайном і кодом. F9 перевіряє скрипт, F1 відкриває довідку «Was kann das Skript?» з 35 прикладами, які ви вставляєте подвійним кліком. Мова — Pascal (netPascalScript) з англомовними іменами.

Події

  • 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.

Приклад

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;

Що вміє скрипт

Читати та встановлювати поля (Form.Field, Form.SetField), показувати чи ховати поля або блокувати їх (SetVisible, SetEnabled), встановлювати фокус, відкривати секцію, показувати повідомлення та підтвердження (Message, Confirm) і відміняти збереження або закриття (Form.Cancel). Form.IsNew, Form.Module і Form.Id дають інформацію про запис. Ключі полів походять з дизайну маски.

Помилка в скрипті буде повідомлена один раз; маска залишається придатною для роботи. Тільки Form.Cancel перериває дію.