OBS/System/OBS Anleitung Customize Edit
- Übersicht
- 1 - Import
- OBS/System/Sonderprogramme: 10 - Desktop-Heap für interaktive Fenster setzen
- 2.0 - Finanzamtexport
- 2.1 - Finanzamtexport Kassenjournal
- 3 - Eigenlieferung Erfassen
- 4 - IBAN/BIC Konvertierung
- 7 - OBS DB Speed Test
- 8 - OBS CPU Speed Test
- 9 - Jahre aus der Auftragsbearbeitung archivieren
- A - Waage Input/Output
- B - Gegenkonten/Output
- C - Postversand exportieren
- D - Journaldaten aus PCAS übernhemen
- E - Aus UGL-Datei Angebot erstellen
- F - Inventurüberblick ausdrucken
- G - Vk-Preis von Datanorm-Artikel anpassen
- H - Überprüfung der Kalenderwochen-Verwaltung
- I - UMB-Lohndaten übernehmen
- J - Druckernamen ausgeben
- K - OP´s aus dem Vorjahr holen
- L - Inventur per EAN-Scanner
- M - Abgleich der Konten und der offenen Posten
- O - Artikelpflege im Scheduler anzeigen
- P - Mehrwertsteuerwechsel
- Q - Artikel verschmelzen
- R - OBS zum Standard E-Mail-Programm machen
- R1 - Listen Felder Import
- S - Allgemeine OBS-Update-Informationsmail
- SB - Script-Bibliothek
- T - Individueller Artikelimport
- U - DATANORM Export
- V - OpenBooks Export
- X - Aktuelles Jahr für Inventurbew. sichern
- Y - Dokumenteverwaltung Import
- Z - Init Installations-Macros abrufen
- Datenschnittstelle für Prüfungssoftware der Finanzbehörde
- Tasten und Schaltflächen
- OBS Level System
OBS Anleitung Customize Edit
Bei einem Benutzer kann man über F9 Layout mit Level 5 den Schalter Customize aktivieren. Der Firmenbeauftragte kann dann für den Benutzer Anpassungen durchführen. Nach der Anpassung muss Customize deaktiviert werden.
Aufruf über Strg+F12:
- in der Liste
- im Edit-Dialog
- in den Auswahlboxen
- in den Auswertungen (F3 Formulare/Exports)
- in der Positionserfassung
Mit rechter Maustaste und Strg können auch die Weitere Funktionen (in den Listen) bearbeitet werden.
Die Benutzeraktivitäten können ebenfalls eingeschränkt werden:
Name des Edit's ist der jeweilige Klassenname.
Das Makro gilt standardmäßig für alle User (XXX); es kann aber auch ein spezifischer Benutzer angegeben werden. Folgende Aufrufe sind möglich:
Edit Formulare
InitScripter wird nach dem Create des Fensters aufgerufen
Edit Kontroll Funktionen | Tastatur Funktionen |
---|---|
InitScripter | |
CheckIfChanged | OnF1 |
OnESC | OnF2 |
OnEdInit | OnF3 |
OnEdFormInit | OnF4 |
OnEdClose | OnF5 |
OnEdRead | OnF6 |
OnEdShow | OnF7 |
OnEdVorb | OnF8 |
OnEdCheck | OnF9 |
OnEdSave | OnF10 |
OnEdSaveDirect | OnPGDN |
OnEdReadDirect | OnPGUP |
OnRETURN |
Jede Makro Funktion hat 2 Aufrufe
- Bevor die interne Delphi Funktion aufgerufen wird, gibt es einen Makro-Aufruf mit der Erweiterung Before_. Hat die Funktion den Rückgabewert Ready, so wird die interne Delphi-Funktion nicht mehr aufgerufen. Diese Funktion wird unabhängig von der Delphi Funktion aufgerufen.
- Standard Aufruf nach der internen Delphi Funktion. Diese wird nur ausgeführt wenn es in Delphi eine On... Funktion bestückt wird.
Globale Variable FrmEdit
Ü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) |
Auslesen von Komponenten:
FrmEdit.xGet('a_vorname');
Setzen von Komponenten:
FrmEdit.xSet('a_vorname',"Meier");
Mögliche Zugriffe auf Komponenten und Werte des Edits
procedure InitScripter(ofrm:Tobject); var oSte : TEdit; begin oSte := FrmEdit.FindComponent('stred_db_a_vzusatz'); Meldung(FrmEdit.stred_db_a_vzusatz.Text); end; 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;
Wenn möglich immer mit xGet und xSet auf Komponenten Werte zugreifen.
Listen Formulare
Folgende Funktionen stehen zur Verfügung:
- InitScripter
- OnListNew
- OnResize
- OnRefresh
- Before_Close
- Before_OnF1
- Before_OnF2
- Before_OnF3
- Before_OnF4
- Before_OnF5
- Before_OnF6
- Before_OnF7
- Before_OnF8
- Before_OnF9
- Before_OnF10
- Before_OnReturn
- Before_OnInsert
- Before_OnDelete
- Before_OnESC
- OnF1
- OnF2
- OnF3
- OnF4
- OnF5
- OnF6
- OnF7
- OnF8
- OnF9
- OnF10
- OnReturn
- OnInsert
- OnDelete
- OnESC
Beispiel:
var oListe : TxFrmListe; procedure InitScripter(oFrm:Tobject); var cTable : String; begin oListe := oFrm; cTable := oListe.Name; Meldung(cTable); Meldung(oListe.Query.sql.text); Meldung(oListe.Query.A2C('sys_uid')); Meldung(oListe.cTable); end;
Wird bei den Before Funktionen "READY" zurückgegeben, so werden die internen Funktionen nicht mehr ausgeführt. Damit kann der natürliche Ablauf des Programmes veränder werden. Dies kann schwere Programmfehler verursachen!