Programar máscaras com o Maskenskript

Com o Maskenskript é possível verificar e complementar entradas sem alterar o netERP.

Design e código

No Designer de máscara, F12 alterna entre Design e código. F9 valida o script, F1 abre a ajuda „Was kann das Skript?“ com 35 exemplos que podes inserir com duplo clique. A linguagem é Pascal (netPascalScript) com nomes em inglês.

Eventos

  • Máscara: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
  • Campo: OnEnter, OnExit, OnChange, OnClick.

No Inspetor de objetos, (novo) cria a rotina apropriada no separador „Eventos“, por exemplo FormBeforeSave. Rotinas vazias são removidas pelo netERP ao guardar.

Exemplo

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;

O que o script pode fazer

Ler e definir campos (Form.Field, Form.SetField), mostrar/ocultar ou bloquear campos (SetVisible, SetEnabled), definir o foco, abrir uma secção, mostrar mensagens e pedidos de confirmação (Message, Confirm) e cancelar guardar ou fechar (Form.Cancel). Form.IsNew, Form.Module e Form.Id fornecem informação sobre o registo. As chaves de campo provêm do design da máscara.

Um erro no script é reportado uma vez; a máscara permanece utilizável. Apenas Form.Cancel interrompe uma ação.