Программирование масок с Maskenskript

С помощью Maskenskript вы проверяете и дополняете вводимые данные, не меняя при этом сам netERP.

Дизайн и код

В Maskendesigner клавиша F12 переключает между дизайном и кодом. F9 проверяет скрипт, F1 открывает справку «Что умеет скрипт?» с 35 примерами, которые вы вставляете двойным щелчком. Язык — Pascal (netPascalScript) с английскими именами.

События

  • Маска: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
  • Поле: OnEnter, OnExit, OnChange, OnClick.

В инспекторе объектов нажмите (neu) на вкладке «События» для создания соответствующей процедуры, например FormBeforeSave. Пустые процедуры netERP удаляет при сохранении.

Пример

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 прерывает действие.