OBS/Adminhilfe/ScriptLibrary: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Thiel (Diskussion | Beiträge) |
||
| (3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
| Zeile 13: | Zeile 13: | ||
Die Namen der Scripte, die für die Zusatzinfos geschrieben werden, setzen sich aus folgenden Teilen zusammen: | Die Namen der Scripte, die für die Zusatzinfos geschrieben werden, setzen sich aus folgenden Teilen zusammen: | ||
''TYP'' (DMS Typ) | |||
''_Vorgang'' | |||
Beispiel: | Beispiel: | ||
AN_VORGANG für Benutzer 000 | |||
AU_VORGANG für Benutzer 001 | |||
Innerhalb dieser Scripte kann es dann verschiedenste Funktionen geben. Derzeit wird folgende Funktion für die Zusatzinfo benötigt: | Innerhalb dieser Scripte kann es dann verschiedenste Funktionen geben. Derzeit wird folgende Funktion für die Zusatzinfo benötigt: | ||
| Zeile 27: | Zeile 26: | ||
Beispiel: | Beispiel: | ||
Anzeige von Infos, die dem Vorgang hinterlegt sind | Anzeige von Infos, die dem Vorgang hinterlegt sind | ||
<source lang="delphi"> | |||
function VORGANG_ZUSATZINFO_START(cVorgang: String):String; | |||
var cSQL : String; | var cSQL : String; | ||
qScript : TxFQuery; | qScript : TxFQuery; | ||
| Zeile 34: | Zeile 34: | ||
//Infos | //Infos | ||
Result := Result + 'Hinterlegte Informationen:'; | |||
Result := Result + CRLF; | |||
Result := Result + CRLF; | |||
cSQL := 'SELECT * FROM BRIEF' + | |||
' WHERE br_refnr = ' + DB_SQLVal(cVorgang) + | |||
' AND br_doktyp = ' + DB_SQLVal('9102'); | |||
if (DB_SOpen(oDB,cSQL,qScript)) then begin | |||
while not qScript.EoF do begin | |||
Result := Result + RTFToPlainText(qScript.A2C('br_bemerk')); | |||
Result := Result + CRLF; | |||
qScript.Next; | |||
end; | |||
end; | |||
DB_Close(qScript); | |||
end; | |||
</source> | |||
==Verbuchen von Vorgängen mit Macro== | |||
{{Hinweis|Dieses Macro muss sich in der Script-Libary befinden.}} | |||
'''Beispiel für Vorgänge in Aufträgen:'''<br/> | |||
<source lang="delphi"> | |||
GetScript(oDB, 'VERBUCHEN', 'AUFTRAG'); | |||
</source> | |||
Scribt_Lib Name: VERBUCHEN_AUFTRAG_<br/> | |||
DispatchMethod: 'Verbuchen'<br/> | |||
Parameter: Vorgangs Nummer<br/> | |||
'''Der Rückgabewert 'OK' ermöglicht das Verbuchen des Vorganges, sonst wird das Verbuchen des Satzes nicht ausgeführt'''<br/> | |||
'''Beispiel:'''<br/> | |||
<source lang="delphi"> | |||
function Verbuchen(cVogNr:String):String; | |||
begin | |||
Result := 'OK' | |||
end; | |||
</source> | |||
'''In OBS wurde dies auf diese Art realisiert:''' | |||
<source lang="delphi"> | |||
function TVerbuchen.Check_Script_Verbuchen(const cMacro:String; const cVorgNr:String):Boolean; | |||
var oScripter : TxScriptRunner; | |||
cKommentar : String; | |||
begin | |||
Result := True; | |||
cKommentar := ''; | |||
if (not Empty(cMacro) and not Empty(cVorgNr)) then begin | |||
oScripter := TxScriptRunner.Create(NIL, oDB); | |||
oScripter.lProtokoll := False; | |||
oScripter.LoadScript(cMacro, '', stPax); | |||
try | |||
Result := (Upper(oScripter.DispatchMethod('Verbuchen',[cVorgNr])) = 'OK'); | |||
if (not Result) then begin | |||
//Hier muss noch eine Variable ausgelesen werden | |||
//cKommentar := oScripter.Parameter.V1; | |||
Self.ProtokollError(' Vorgang : ' + cVorgNr+ ' -> Abgelehnt durch User-Macro!'); | |||
if (not Empty(cKommentar)) then begin | |||
Self.ProtokollError('Kommentar : '+cKommentar); | |||
end; | |||
end; | |||
except | |||
//nichts | |||
end; | |||
MyFreeAndNil(oScripter); | |||
end; | |||
end; | |||
</source> | |||
Aktuelle Version vom 7. November 2022, 15:55 Uhr
Dies ist eine zugriffsgeschützte Seite.
- System Überwachung
- DEP deaktivieren
- Darstellung unter Windows 7
- Einwahl auf Windows 2000 Server
- Preislisten
- Datenbank Sicherung
- Customize
- Zentrale
- Support Macro
- Service Debug
- Historienprotokoll (Datenänderung OBS)
- Fernwartungsprobleme
- Startparameter
- Fehler beim Kassenabschluss
- Diverse Informationen
- A ras.pbk
- B Command Line Interpreter
- C File Zilla Benutzer XML erzeugen
- D1 OBS_UPDATE.EXE zum OBS Update Server hochladen
- D2 SUPPORT_MACRO zum OBS Update Server hochladen
- H1 Remote Service Protokoll-Übersicht (Alles)
- H Remote ServiceProtokoll-Übersicht
- I Remote Service Commands
- I1 (Admin) Globaler Hinweis für Updates
- J Liste der OBS Updates
- K Angemeldete Service Firmen
- L Systeminformationen einlesen
- M Kundendaten anzeigen
- M1 Kundendatenbankinformationen anzeigen
- N Kundendaten einlesen
- O Kunden-Update Informationen anzeigen
- P Modul Registrierung OBS
- Q App Verwaltung
- S1 Firmen Statistik Protokolle OBS
- S2 Statistik Notfallkassen
Script Library
Die Script Library ist eine Sammlung von Scripten, die innerhalb von OBS an verschiedenen Stellen genutzt werden können. Dieses Modul wurde erstellt, um eine strikte Trennung von OBS Installationsmakros und anderen Scripten zu haben. Die hier enthaltenen Scripte werden derzeit nicht mit den Updates ausgeliefert und sind pro Kunde verschieden. Scripte die hier erstellt werden, werden in der Regel auf Kundenwunsch erstellt und nach Aufwand berechnet.
ScriptResult (Zusatzinformationen der Positionserfassung)
Mit Hilfe dieser Scripte lassen sich innerhalb der Positionserfassung diverse Zusatzinformationen anzeigen, welche an die Bedürfnisse der Kunden angepasst sind.
Dabei kann eine Benutzernummer hinterlegt werden, welche benutzerbezogenen Info anzeigt. Benutzer 000 ist Global und gilt für alle Nutzer.
Die Namen der Scripte, die für die Zusatzinfos geschrieben werden, setzen sich aus folgenden Teilen zusammen:
TYP (DMS Typ) _Vorgang
Beispiel:
AN_VORGANG für Benutzer 000 AU_VORGANG für Benutzer 001
Innerhalb dieser Scripte kann es dann verschiedenste Funktionen geben. Derzeit wird folgende Funktion für die Zusatzinfo benötigt:
- function VORGANG_ZUSATZINFO_START(cVorg: String):String ;
Beispiel:
Anzeige von Infos, die dem Vorgang hinterlegt sind
function VORGANG_ZUSATZINFO_START(cVorgang: String):String;
var cSQL : String;
qScript : TxFQuery;
begin
//Infos
Result := Result + 'Hinterlegte Informationen:';
Result := Result + CRLF;
Result := Result + CRLF;
cSQL := 'SELECT * FROM BRIEF' +
' WHERE br_refnr = ' + DB_SQLVal(cVorgang) +
' AND br_doktyp = ' + DB_SQLVal('9102');
if (DB_SOpen(oDB,cSQL,qScript)) then begin
while not qScript.EoF do begin
Result := Result + RTFToPlainText(qScript.A2C('br_bemerk'));
Result := Result + CRLF;
qScript.Next;
end;
end;
DB_Close(qScript);
end;
Verbuchen von Vorgängen mit Macro
Beispiel für Vorgänge in Aufträgen:
GetScript(oDB, 'VERBUCHEN', 'AUFTRAG');
Scribt_Lib Name: VERBUCHEN_AUFTRAG_
DispatchMethod: 'Verbuchen'
Parameter: Vorgangs Nummer
Der Rückgabewert 'OK' ermöglicht das Verbuchen des Vorganges, sonst wird das Verbuchen des Satzes nicht ausgeführt
Beispiel:
function Verbuchen(cVogNr:String):String;
begin
Result := 'OK'
end;
In OBS wurde dies auf diese Art realisiert:
function TVerbuchen.Check_Script_Verbuchen(const cMacro:String; const cVorgNr:String):Boolean;
var oScripter : TxScriptRunner;
cKommentar : String;
begin
Result := True;
cKommentar := '';
if (not Empty(cMacro) and not Empty(cVorgNr)) then begin
oScripter := TxScriptRunner.Create(NIL, oDB);
oScripter.lProtokoll := False;
oScripter.LoadScript(cMacro, '', stPax);
try
Result := (Upper(oScripter.DispatchMethod('Verbuchen',[cVorgNr])) = 'OK');
if (not Result) then begin
//Hier muss noch eine Variable ausgelesen werden
//cKommentar := oScripter.Parameter.V1;
Self.ProtokollError(' Vorgang : ' + cVorgNr+ ' -> Abgelehnt durch User-Macro!');
if (not Empty(cKommentar)) then begin
Self.ProtokollError('Kommentar : '+cKommentar);
end;
end;
except
//nichts
end;
MyFreeAndNil(oScripter);
end;
end;