Lomakkeiden ohjelmointi lomakeskriptillä

Lomakeskriptillä tarkistat ja täydentäät syötteitä muuttamatta netERP:ää.

Suunnittelu ja koodi

Maskendesignerissä F12 vaihtaa suunnittelun ja koodin välillä. F9 tarkistaa skriptin, F1 avaa ohjeen „Mitä skripti osaa?“ joka sisältää 35 esimerkkiä, jotka lisäät kaksoisklikillä. Kieli on Pascal (netPascalScript) englanninkielisine nimiä käyttäen.

Tapahtumat

  • Lomake: BeforeOpen, AfterOpen, BeforeSave, AfterSave, BeforeClose, OnValidate.
  • Kenttä: OnEnter, OnExit, OnChange, OnClick.

Objektinspektorissa (uusi) välilehdellä „Tapahtumat“ luodaan sopiva rutiini, esimerkiksi FormBeforeSave. Tyhjät rutiinit poistaa netERP tallennettaessa.

Esimerkki

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;

Mitä skripti osaa

Kenttien lukeminen ja asettaminen (Form.Field, Form.SetField), kenttien näyttäminen tai piilottaminen tai lukitseminen (SetVisible, SetEnabled), fokuksen asettaminen, osion avaaminen, ilmoitusten ja vahvistusikkunoiden näyttäminen (Message, Confirm) sekä tallentamisen tai sulkemisen keskeyttäminen (Form.Cancel). Form.IsNew, Form.Module ja Form.Id kertovat tietueesta. Kenttäavaimet ovat peräisin lomakkeen suunnittelusta.

Skriptissä oleva virhe ilmoitetaan kerran; lomake pysyy käytettävissä. Vain Form.Cancel keskeyttää toiminnon.