OBS/Makros und Scripting/Anwendungsbereiche/Customize: Unterschied zwischen den Versionen
Nimz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Nimz (Diskussion | Beiträge) |
||
Zeile 10: | Zeile 10: | ||
=Customize in Eingabemasken= | =Customize in Eingabemasken= | ||
==Globale Variablen== | ==Globale Variablen== | ||
==Methoden== | ==Methoden Allgemeines== | ||
Für die Customize-Scripte stehen Ihnen diverse Funktionalitäten zur Verfügung. Nachfolgend eine Liste aller Customize-Funktionen der Maske: | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | !Interne Funktionen !! Tastatur-Funktionen | ||
|- | |- | ||
| | |OnEdFormInit || OnF1 | ||
|- | |- | ||
| | |OnEdInit || OnF2 | ||
|- | |- | ||
| | |OnEdVorb || OnF3 | ||
|- | |- | ||
| | |OnEdShow || OnF4 | ||
|- | |- | ||
| | |OnEdStable || OnF5 | ||
|- | |- | ||
| | |OnEdReadDirect || OnF6 | ||
|- | |- | ||
| | |OnEdRead || OnF7 | ||
|- | |||
|OnEdStable || OnF8 | |||
|- | |- | ||
|OnEdCheck || OnF9 | |OnEdCheck || OnF9 | ||
|- | |- | ||
| | |OnEdqSQL || OnF10 | ||
|- | |- | ||
|OnEdSaveDirect || OnPGDN | |OnEdSaveDirect || OnF11 | ||
|- | |||
|OnEdSave || OnF12 | |||
|- | |||
|CheckIfChanged || OnPGDN | |||
|- | |||
|OnEdClose || OnPGUP | |||
|- | |||
| || OnReturn | |||
|- | |||
| || OnESC | |||
|} | |||
Die hier aufgeführten '''internen Funktionen''' sind in der Reihenfolge aufgelistet, wie sie vom OBS beim Öffnen (OnEdFormInit bis OnEdStable) und Schließen (OnEdCheck bis OnEdClose) von Eingabemasken auch abgearbeitet werden. | |||
{{Hinweis|Bei der Verwendung der Funktionen in Customize-Scripten ist die Reihenfolge der Abarbeitung der Masken-Funktion und der Customize-Funktion von Bedeutung. Grundsätzlich gilt: Interne Funktionen werden vor dem Customize ausgeführt und Tastatur-Funktionen nach der Customize-Funktion. Um ein Customize vor der internen Funktion auszuführen, muss dem Funktionsnamen der Präfix '''Before_''' gegeben werden. Für Tastatur-Funktionen gilt dies nur für '''OnESC'''.}} | |||
===Zugriff auf Komponenten=== | |||
Um auf Komponenten der Maske zuzugreifen, sollten Sie die Funktionen '''xGet''' (Daten lesen) und '''xSet''' (Daten schreiben) verwenden. | |||
<syntaxhighlight lang="Delphi"> | |||
//Auslesen einer Komponente | |||
cName := FrmEdit.xGet('a_name'); | |||
//Setzen einer Komponente | |||
FrmEdit.xSet('a_name',"Meier"); | |||
</syntaxhighlight> | |||
===Globale Variablen der Eingabemaske=== | |||
Über die Variable FrmEdit kann auf alle Felder und auf die Property des Edit Objekt zugegriffen werden. Folgende Property's stehen zu Verfügung: | |||
{| class="wikitable" | |||
|- | |||
!Property !! Erläuterung | |||
|- | |||
|lCheckOK || Kann bei der Überprüfung von F2 benutzt werden ob die Eingabewerte korrekt eingegeben wurden sind. Bei False wird nicht abgespeichert. | |||
|- | |||
|lEditMode || True = Insertmodus False = Editmodus | |||
|- | |||
|lDataUpdate || True = Daten des Edits wurden verändert | |||
|- | |||
|lDataChecked || False=Daten werden auf gültigkeit überprüft (lCheckok) | |||
|- | |||
|lCloseInsert || Edit-Fenster wird (lEditMode = True) nach F2 geschlossen | |||
|- | |||
|lCloseEdit || Edit-Fenster wird (lEditMode = False) nach F2 geschlossen | |||
|- | |||
|lDataESC || Soll bei einer Änderung im Edit eine Abfrage beim Verlassen der Maske erscheinen | |||
|- | |- | ||
| | |lCanLock || Ob bei der Eingabe nur eine Person den Datensat editieren darf | ||
|- | |- | ||
| | |lInsert || Edit Felder im Insert/Überschreibemodus (zur zeit keine Funktion) | ||
|} | |} | ||
===Beispiele=== | |||
<syntaxhighlight lang="Delphi"> | |||
function OnEdCheck():string; | |||
var oSte : TEdit; | |||
cEdit : String; | |||
cVorname : String; | |||
begin | |||
if (FrmEdit.lEditMode) then begin | |||
Meldung('Edit Mode True'); | |||
end else begin | |||
Meldung('Edit Mode False'); | |||
end; | |||
Meldung(FrmEdit.stred_db_a_name.Text); | |||
oSte := FrmEdit.FindComponent('stred_db_a_name'); | |||
Meldung(oSte.Text); | |||
cVorname:= FrmEdit.xGet('a_vorname'); | |||
Meldung(cVorname); | |||
if (Empty(cVorname)) then begin | |||
FrmEdit.lCheckOk := False; | |||
Meldung('Bitte Vorname eingtragen'); | |||
end; | |||
end; | |||
</syntaxhighlight> | |||
=Customize in Listen= | =Customize in Listen= | ||
==Globale Variablen== | ==Globale Variablen== | ||
==Methoden== | ==Methoden== |
Version vom 9. April 2019, 12:35 Uhr
Das kostenpflichtige Modul Customize erlaubt die Individualisierug vom OBS und kann die Funktionalität der Software entscheidend erweitern, um z. B. Arbeitsabläufe zu verbessern oder die Einhaltung bestimmter Vorgaben einzuhalten. So lassen sich u. a. Zugriffe auf Felder steuern oder Daten in Eingabemasken vorbelegen oder prüfen. Jedes Makro kann systemweit oder pro Benutzer hinterlegt werden.
Allgemeines
Aktivierung Modul Customize
Der Aktivitätsstatus des Moduls wird über einen Programmparameter gesteuert, welcher nur Administratoren zugänglich ist. Die Freischaltung erfolgt durch den Support auf Anfrage.
Zugriff auf die Einstellungen
Der Zugriff auf die Customize-Einstellungen erfolgt über die Rechte Verwaltung strg + F12. Für Customize-Scripte wählen Sie den entsprechenden Punkt in der sich öffnenden Auswahlbox:
- Listen: A Customize Listen
- Eingabemasken: A Customize Edit
Customize in Eingabemasken
Globale Variablen
Methoden Allgemeines
Für die Customize-Scripte stehen Ihnen diverse Funktionalitäten zur Verfügung. Nachfolgend eine Liste aller Customize-Funktionen der Maske:
Interne Funktionen | Tastatur-Funktionen |
---|---|
OnEdFormInit | OnF1 |
OnEdInit | OnF2 |
OnEdVorb | OnF3 |
OnEdShow | OnF4 |
OnEdStable | OnF5 |
OnEdReadDirect | OnF6 |
OnEdRead | OnF7 |
OnEdStable | OnF8 |
OnEdCheck | OnF9 |
OnEdqSQL | OnF10 |
OnEdSaveDirect | OnF11 |
OnEdSave | OnF12 |
CheckIfChanged | OnPGDN |
OnEdClose | OnPGUP |
OnReturn | |
OnESC |
Die hier aufgeführten internen Funktionen sind in der Reihenfolge aufgelistet, wie sie vom OBS beim Öffnen (OnEdFormInit bis OnEdStable) und Schließen (OnEdCheck bis OnEdClose) von Eingabemasken auch abgearbeitet werden.
Zugriff auf Komponenten
Um auf Komponenten der Maske zuzugreifen, sollten Sie die Funktionen xGet (Daten lesen) und xSet (Daten schreiben) verwenden.
//Auslesen einer Komponente
cName := FrmEdit.xGet('a_name');
//Setzen einer Komponente
FrmEdit.xSet('a_name',"Meier");
Globale Variablen der Eingabemaske
Über die Variable FrmEdit kann auf alle Felder und auf die Property des Edit Objekt zugegriffen werden. Folgende Property's stehen zu Verfügung:
Property | Erläuterung |
---|---|
lCheckOK | Kann bei der Überprüfung von F2 benutzt werden ob die Eingabewerte korrekt eingegeben wurden sind. Bei False wird nicht abgespeichert. |
lEditMode | True = Insertmodus False = Editmodus |
lDataUpdate | True = Daten des Edits wurden verändert |
lDataChecked | False=Daten werden auf gültigkeit überprüft (lCheckok) |
lCloseInsert | Edit-Fenster wird (lEditMode = True) nach F2 geschlossen |
lCloseEdit | Edit-Fenster wird (lEditMode = False) nach F2 geschlossen |
lDataESC | Soll bei einer Änderung im Edit eine Abfrage beim Verlassen der Maske erscheinen |
lCanLock | Ob bei der Eingabe nur eine Person den Datensat editieren darf |
lInsert | Edit Felder im Insert/Überschreibemodus (zur zeit keine Funktion) |
Beispiele
function OnEdCheck():string;
var oSte : TEdit;
cEdit : String;
cVorname : String;
begin
if (FrmEdit.lEditMode) then begin
Meldung('Edit Mode True');
end else begin
Meldung('Edit Mode False');
end;
Meldung(FrmEdit.stred_db_a_name.Text);
oSte := FrmEdit.FindComponent('stred_db_a_name');
Meldung(oSte.Text);
cVorname:= FrmEdit.xGet('a_vorname');
Meldung(cVorname);
if (Empty(cVorname)) then begin
FrmEdit.lCheckOk := False;
Meldung('Bitte Vorname eingtragen');
end;
end;