Programmera formulär med Maskskript

Med maskskriptet kontrollerar och kompletterar du inmatningar utan att ändra netERP.

Design och kod

I formulärdesignern växlar F12 mellan design och kod. F9 kontrollerar skriptet, F1 öppnar hjälpen „Vad kan skriptet?“ med 35 exempel som du infogar med dubbelklick. Språket är Pascal (netPascalScript) med engelska namn.

Händelser

  • Formulär: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
  • Fält: OnEnter, OnExit, OnChange, OnClick.

I objektinspektorn skapar du (ny) lämplig rutin på fliken „Händelser“, till exempel FormBeforeSave. Tomma rutiner tas bort av netERP vid sparande.

Exempel

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;

Vad skriptet kan

Läsa och sätta fält (Form.Field, Form.SetField), visa eller dölja fält och låsa upp eller låsa fält (SetVisible, SetEnabled), sätta fokus, öppna en sektion, visa meddelanden och förfrågningar (Message, Confirm) samt avbryta sparande eller stängning (Form.Cancel). Form.IsNew, Form.Module och Form.Id ger information om posten. Fältnycklarna kommer från formulärets design.

Ett fel i skriptet rapporteras en gång; formuläret förblir användbart. Endast Form.Cancel avbryter en åtgärd.