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.
