Übergabedateien

enaio® 10.10 »

enaio® client erzeugt für Events Übergabedateien, aus denen Sie Daten auslesen und ändern und in die Sie einen Rückgabewert schreiben können.

Übergabedateien erhalten die Dateiendung *.evt und werden clientseitig in das benutzerspezifische temporäre Verzeichnis \temp\OSTEMP\ geschrieben.

Mit Hilfe des Codes 'MsgBox filename' können Sie sich innerhalb eines Skripts den vollständigen Pfad und den Dateinamen der Übergabedatei in einem Dialog ausgeben.

Auf die Übergabedateien erhalten Sie direkt über das ActiveX-Control oxactive.dll lesenden und schreibenden Zugriff. Die Übergabedateien werden automatisch gelöscht, sobald enaio® client die notwendigen Daten ausgelesen hat.

Für einige Events müssen Sie Rückgabewerte in die Übergabedateien schreiben, damit enaio® client die gewünschte Aktion durchführen kann. Schreiben Sie hierfür folgenden Code mit entsprechendem Rückgabewert in die Übergabedatei:

ResultCode=1
WriteToFile()

Bei folgenden Events wird keine Übergabedatei erzeugt:

  • AfterLogin

  • OnStartApp

  • AfterFinishQuery

Bei folgenden Events ist die Übergabedatei leer und wird nur erzeugt, damit Sie einen Rückgabewert dort eintragen, um die Aktion fortzuführen:

  • BeforeLogout

  • Rückgaben: 1 = Ausloggen, 0 = kein Ausloggen

  • OnCloseApp

  • Rückgaben: 1 = Beenden, 0 = kein Beenden

Die folgenden Events erzeugen Übergabedateien mit Daten, die Sie auslesen, weiterverarbeiten und in die Sie einen Rückgabewert schreiben können:

Die folgenden Events erzeugen Übergabedateien mit Daten, die Sie auslesen und weiterverarbeiten können, in die Sie aber keinen Rückgabewert schreiben:

Wenn Sie über Skripte auf Dialogelemente Bezug nehmen, die Sonderzeichen enthalten, können Fehler auftreten. Verwenden Sie in diesem Fall die internen Namen für Bezüge auf Dialogelemente.

Struktur der Übergabedateien

Bei Übergabedateien handelt es sich um Textdateien, die mit jedem beliebigen Texteditor geöffnet werden können.

In diesen finden Sie Informationen zu Datenfeldern, Inhalten und Aktionen.

Die Übergabedateien sind in Abschnitte gegliedert: Deren Beginn ist jeweils durch eine Seitenangabe in eckigen Klammern gekennzeichnet. Diese Abschnitte entsprechen den Reitern der Indexdatenmaske. Die Seiten sind, bei 'Null' beginnend, fortlaufend nummeriert: [PAGE00], [PAGE01], [PAGE02] usw.

Zusätzlich existiert in der Übergabedatei noch ein Abschnitt [GLOBALS] mit übergeordneten, abschnittsübergreifenden Informationen.

Seiten von Pagecontrols erhalten in der Übergabedatei eigene Unterabschnitte, an die Seitenangabe der Abschnitte wird eine ID angehängt:

[PAGE00#BD5D78C3F05A45538A226667DC644C01]
[PAGECTRL#77EEBAE5F6834B20BE5A18F939191C8A]
#NAME#=PageCtrl1
#OSINTERNNAME#=PageCtrl1
#PAGENAME1#=Laufzeit
#PAGEOSINTERNNAME1#=Laufzeit
#PAGEGUID1#=71134100B5BA43DD94F81CB5A100BDD6
#PAGENAME2#=Erinnerung
#PAGEOSINTERNNAME2#=Erinnerung
#PAGEGUID2#=2C8082795C704ED0A4E79D78410E6E71

Die einzelnen Seiten des Pagecontrols können darüber hinaus über die Schlüssel #PAGENAME#, #PAGEOSINTERNNAME# und #PAGEGUID# identifiziert werden.

Pro Zeile werden ein Schlüssel und dessen Wert getrennt durch ein Gleichheitszeichen aufgelistet:


#OSMAIN#=4
#OSMODIFIED#=0
#OSFIELDMODE#=1
FULLTEXT=
VTREQUESTTYPE=0
#OSACT#=1

Art und Anzahl der Schlüssel in der Übergabedatei ist jeweils abhängig vom aufrufenden Kontext: Hierbei spielen sowohl das Event als auch der Aufbau der Indexdatenmaske eine Rolle.

Bei einigen Schlüsseln setzt sich der Wert aus mehreren Teilen zusammen, die durch ein Trennzeichen voneinander separiert werden. Das Trennzeichen muss entweder das Zeichen '\021' oder ASCII-Code '17' sein.

Schlüssel der PAGE-Abschnitte

Schlüssel

Bedeutung

#OSACT#

'1' beim aktiven Register der Indexdatenmaske, sonst '0'.

#OSEXP#

Falls eine Suche im Expertenmodus gestartet wurde, wird dieser Schlüssel in die Übergabedatei mit dem Wert '1' geschrieben.

#OSFIELDMODE#

GUID (=1) oder Position (=0) des Felds wird erwartet und ausgewertet

#OSIDENT#

Objekt-Indexnummer

#OSMAIN#

der Haupttyp des Dokuments:
'1': X-Dokument (Graustufen-Grafik)
'2': D-Dokument (SW-Grafik)
'3': P-Dokument (Farb-Grafik)
'4': W-Dokument (Windows-Dokument)
'5': M-Dokument (Bewegtbild-Dokument)
'6': Q-Dokument (Mails)
'7': XML-Dokument
'0': Ordner
'99': Register

#OSMODIFIED#

Zeitstempel der letzten Änderung des Objekts (Indexdatenmaske oder Dokument)

#OSNAME#

Bezeichnung des Registers in der Indexdatenmaske

#OSPOS000#

Fortlaufend nummerierte Felder der Indexdatenmaske mit ihren Inhalten

#OSTYPE#

Typ-ID des Objekts

#OSSYSTEMID#

ID des Systems, das das Objekt verwaltet. enaio® server haben immer die OSSYSTEMID '0'.

#OSFOREIGNID#

ID des Objekts in einem Fremdsystem, falls das Objekt in einem Fremdsystem verwaltet wird.

FELD0

Fortlaufend nummerierte Informationen über die Felder der Indexdatenmaske, durch Trennzeichen separiert

FIELDEXT0

Erweiterung von Feld0, ebenfalls fortlaufend nummeriert

FILECOUNT

Anzahl der Dateien, die dem Objekt zugeordnet sind

Schlüssel des GLOBALS-Abschnitts

Schlüssel

Bedeutung

Action

Mögliche Werte sind:
UPDATE – wenn Sie ein Datenblatt zum Bearbeiten geöffnet oder Daten geändert haben
REQUEST – wenn Sie eine Anfragemaske geöffnet haben
NEW – wenn Sie ein Datenblatt/Objekt zur Neuanlage geöffnet haben
READONLY – wenn Sie ein Datenblatt schreibgeschützt geöffnet haben
BEFORELINK – bei Aufruf des gleichnamigen Events

EventCode

Numerische ID des auslösenden Events, beispielsweise '1' für das Event 'OnShow'. Für die numerischen Codes siehe die tabellarische Übersicht der Events

Handle

ID des Ziehpunkts der Indexdatenmaske

OrdIdent

Interne ID des Ordners

OrdType

Typ des Ordners

RegIdent

Interne ID des Registers

RegType

Typ des Registers

EXTERNDROPFILE

Pfad zu einer Datei, die per Drag&Drop übernommen wird.

Übergabedaten bei Tabellen

Die Daten aus Tabellen von Indexdatenmasken werden in folgender Form in die Übergabedatei geschrieben:

[object75list1]
ZEILE0={1234Verkauf567842,13333,522}
ZEILEDB0='1234','Verkauf','5678','42,13','3','33,5','22'
ZEILE1={5678Verkauf356432,673,545,233}
ZEILEDB1='5678','Verkauf','3564','32,67','3,5','45,2','33'
REQFIELDS=feld1X50,feld2X50,feld3X5,feld4X20,feld5X10,feld6X20,feld7X20
FIELDS=feld1,feld2,feld3,feld4,feld5,feld6,feld7
[LISTCONTROL]
TABLES=object75list1
[GLOBALS]
TABLEROW=0
TABLECOL=2

Tabelle der Beispieldatei:

Tabelle der Beispieldatei mit einem Auswahlkatalog:

Beispiel für eine Änderung (Schreiben der Werte der ersten Zeile der Tabelle):

a = "{1.Wert" & chr(17) & "2.Wert" & chr(17) & "3.Wert" & chr(17) _
& "4.Wert" & chr(17) & "5.Wert" & chr(17) & "6.Wert" & chr(17) _
& "7.Wert}"
oxhelp.writeprofstring "object75list1", "zeile0", a, osfile

Die Änderungen werden nur geschrieben, falls Sie 'resultcode=1' in die Übergabedatei schreiben.

Übergabedateien der clientseitigen Events

Die folgenden Beispiele für Übergabedateien beziehen sich jeweils auf ein Dokument vom Typ 'Protokoll' im Register 'Allgemein' im Ordner 'WF-Protokoll'. Abhängig vom Event finden Sie Ordnerdaten, Registerdaten und Dokumentdaten in den jeweiligen Übergabedateien, die sich auf diese Objekte beziehen.

Ordner-Maske 'WF-Protokoll':

Register-Maske 'Allgemein':

Dokumenttyp-Maske 'Protokoll':

OnClickItem

Das Event wird ausgelöst, wenn Sie auf eine Schaltfläche der Indexdatenmaske eines Objekts klicken, in diesem Beispiel auf die Schaltfläche 'Event' eines Dokuments vom Typ 'Protokoll'.

enaio® client erzeugt für das Event OnClickItem eine Übergabedatei mit Daten zum Ordner, zum Register, zum Dokument und zu den Basisparametern.

Die Datei enthält folgende Abschnitte:

  • [PAGE00]

    In diesem Abschnitt finden Sie Ordnerdaten, die Indexdaten des Ordners und die Felddefinitionen des Ordnertyps.

  • [PAGE01]

    In diesem Abschnitt finden Sie Registerdaten, die Indexdaten des Registers und die Felddefinitionen des Registertyps.

  • [PAGE02]

    In diesem Abschnitt finden Sie Dokumentendaten, die Indexdaten des Dokuments und die Felddefinitionen des Dokumenttyps.

  • [PAGE03]

    In diesem Abschnitt finden Sie die Basisparameterdaten des Objekts, auf das sich das Event bezieht.

  • [GLOBALS]

    Dieser Abschnitt enthält allgemeine Informationen.

Die Nummerierung der Page-Abschnitte entspricht der Datenblattfolge von links nach rechts in enaio® client.

Beispiel für Übergabedateien:

[PAGE00]
#OSTYPE#=4
#OSIDENT#=882
#OSMAIN#=0
#OSMODIFIED#=1283779716
#OSPOS000#=2010
#OSPOS001#=Aufträge
FILECOUNT=0
FELD0=#OSPOS000#;Jahr;zahl1;9;4;0;0
FIELDEXT0=#OSPOS000#08B022760BAE042CAB627F8A2945CCJahrzahl1WF_Year9400
FELD1=#OSPOS001#;Prozessfamilie;feld1;X;50;0;0
FIELDEXT1=#OSPOS001#D70773C5AFDB4894A739C2119093DAA0Prozessfamiliefeld1WF_FamilyX5000
#OSNAME#=WF-Protokoll
[PAGE01]
#OSTYPE#=6488071
#OSIDENT#=883
#OSMAIN#=99
#OSMODIFIED#=1283779767
#OSPOS000#=April
FILECOUNT=0
FELD0=#OSPOS000#;Monat;feld1;X;50;0;0
FIELDEXT0=#OSPOS000#D622CD2C43D3490E87F36AF9ADF660D5Monatfeld1WF_MonthX5000
#OSNAME#=Allgemein
[PAGE02]
#OSTYPE#=131115
#OSIDENT#=884
#OSMAIN#=2
#OSMODIFIED#=1326111543
#OSFIELDMODE#=1
#OSGUID#49B4CEA9BADF49BlA3AEAC193ABC6093=Auftrag Eingang
#OSPOS000#=Auftrag Eingang
#OSGUID#DBFOC6B60C5F44A3AB37F92C8BC538A4=neu
#OSPOS001#=neu
#OSGUID#C5053863FA2D46B4B19C13BCAOC6D30C=324543
#OSPOS002#=324543
#OSACT#=1
FILECOUNT=0
FELD0=#OSPOS000#;Prozessname;feld1;X;50;0;0
FIELDEXT0=#OSPOS000#049B4CEA9BADF49BlA3AEAC193ABC6Prozessnamefeld1WF_ProcessNameX5000
FELD1=#OSPOS001#;Bemerkung;feld2;X;1000;0;0
FIELDEXT1=#OSPOS001#DBFOC6B60C5F44A3AB37F92C8BC538ABemerkungfeld2WF_CommentX100000
FELD2=#OSPOS002#;ProzessId;feld4;X;1000;0;0
FIELDEXT2=#OSPOS002#OC5053863FA2D46B4B19C13BCAOC6D3ProzessIdfeld4WF_ProcessIdX100000
FELD3=#OSPOS003#;Event;;K;0;0;0
FIELDEXT3=#OSPOS003#11DF4AlE9AF84A8682340807127406180EventK000
#OSNAME#=Protokoll
#OSFOREIGNID#=0
[PAGE03]
#OSTYPE#=6553600
#OSIDENT#=884
#OSMAIN#=100
#OSMODIFIED#=0
#OSPOS000#=THOMAS
#OSPOS001#=1280227291
#OSPOS003#=ADMINISTRATOR
#OSPOS004#=1326111543
#OSPOS007#=A402C5EDF25744DBA04A622986E15042
#OSPOS006#=72
FILECOUNT=0
[GLOBALS]
EventCode=30
Action=UPDATE
Handle=67004
OrdIdent=882
OrdType=4
RegIdent=883
RegType=6488071
TargetMainType=-1

Wird beispielsweise das Event OnClickItem aus einer Anfragemaske ausgeführt, die im Feld 'Prozessname' mit dem Suchbegriff 'Auftrag Eingang' und im Feld 'ProzessID' mit dem Suchbegriff '324543' indexiert ist, finden Sie im Abschnitt [GLOBALS] den Eintrag 'Action=REQUEST' an Stelle von 'Action=UPDATE':

[PAGE00]
#OSTYPE#=131115
#OSIDENT#=0
#OSMAIN#=2
#OSMODIFIED#=0
#OSFIELDMODE#=1
#OSGUID#49B4CEA9BADF49B1A3AEAC193ABC6093=Auftrag Eingang
#OSPOS000#=Auftrag Eingang
#OSGUID#DBFOC6B60C5F44A3AB37F92C8BC538A4=neu
#OSPOS002#=neu
#OSACT#=1
FILECOUNT=0
FELD0=#OSPOS000#;Prozessname;feld1;X;50;0;0
FIELDEXT0=#OSPOS000#049B4CEA9BADF49B1A3AEAC193ABC6Prozessnamefeld1WF_ProcessNameX5000
FELD1=#OSPOS001#;Bemerkung;feld2;X;1000;0;0
FIELDEXT1=#OSPOS001#DDBFOC6B60C5F44A3AB37F92C8BC538Bemerkungfeld2WF_CommentX100000
FELD2=#OSPOS002#;ProzessId;feld4;X;1000;0;0
FIELDEXT2=#OSPOS002#DC5053863FA2D46B4B19C13BCAOC6D3ProzessIdfeld4WF_ProcessIdX100000
FELD3=#OSPOS003#;Event;;K;0;0;0
FIELDEXT3=#OSPOS003#D11DF4AlE9AF84A868234080712740618DEventK000
#OSNAME#=Protokoll
[GLOBALS]
EventCode=0
Action=REQUEST
Handle=3408762
OrdIdent=-1
OrdType=-1
RegIdent=-1
RegType=-1

enaio® client benötigt für das Event OnClickItem einen Rückgabewert:

  • 'resultcode=1' überträgt die Daten aus der Übergabedatei in die Indexdatenmaske,

  • 'resultcode=0' ändert die Daten der Indexdatenmaske nicht.

Mit der Methode closedatamask im OnClickItem können Masken von Objekten per Skriptaufruf geschlossen werden. Folgende Rückgabewerte stehen zur Verfügung:

  • '-1' Änderungen verwerfen und Maske schließen

  • '0' Maske nicht schließen (Standard)

  • '1' Änderungen speichern und Maske schließen

Den Rückgabewert müssen Sie in die Übergabedatei schreiben.

WriteProfString "GLOBALS","closedatamask","<Rückgabewert>",OSFILE
asfile.WriteToFile()

Über die Eigenschaft 'Enabled=true' ist es möglich, mit einem Event-Skript eine schreibgeschützte Schaltfläche einer Datenmaske oder bei einem OnShow-Event zu aktivieren, um beispielsweise zugehörige Dokumente zu öffnen.

Voraussetzungen sind, dass im Event-Skript eine Event-Schaltfläche aktiviert werden kann und das Datenblatt keine PageControls besitzt.

Beispiel:

if AsFile.EventAction = "READONLY" then
    MsgBox "try to activate Schaltflaeche"
    ActivePage.ASFields.Item("&Schaltfläche").Enabled=true
end if
ResultCode=1
WriteToFile()

Aus dem Eventskript kann statt des aktuellen Objekts ein Objekt über die Objekt-ID in der Inhalts-/Detaivorschau bzw. in Dashlets angezeigt werden:

asfile.ContextObjIdent = ID

Die Inhalts-/Detailvorschau kann aus dem Eventskript aktualisiert werden:

asfile.RegeneratePreview = true

Aus Workflowskripten:

scriptresult.RegeneratePreview = true

OnShow

Das Event lösen Sie durch Öffnen eines Datenblatts, einer Anfragemaske oder beim Neuerstellen eines Objekts aus.

enaio® client erzeugt beispielsweise eine Übergabedatei mit Daten zum Ordner [PAGE00], zum Register [PAGE01], zum Dokument [PAGE02] und zu den Basisparametern [PAGE03].

Beispiel für Übergabedatei:

[PAGE00]
#OSTYPE#=4
#OSIDENT#=882
#OSMAIN#=0
#OSMODIFIED#=1283779716
#OSPOS000#=2010
#OSPOS001#=AdHoc V 1.02
FILECOUNT=0
FELD0=#OSPOS000#;Jahr;zahl1;9;4;0;0
FIELDEXT0=#OSPOS000#18A1529714954419924950FFFD930FDEJahrzahl1WF_Year9400
FELD1=#OSPOS001#;Prozessfamilie;feld1;X;50;0;0
FIELDEXT1=#OSPOS001#8B022760BAE042CAB627F8A2945CC044Prozessfamiliefeld1WF_FamilyX5000
#OSNAME#=WF-Protokoll
[PAGE01]
#OSTYPE#=6488071
#OSIDENT#=883
#OSMAIN#=99
#OSMODIFIED#=1283779767
#OSPOS000#=April
FILECOUNT=0
FELD0=#OSPOS000#;Monat;feld1;X;50;0;0
FIELDEXT0=#OSPOS000#D622CD2C43D3490E87F36AF9ADF660D5Monatfeld1WF_MonthX5000
#OSNAME#=Allgemein
[PAGE02]
#OSTYPE#=131115
#OSIDENT#=884
#OSMAIN#=2
#OSMODIFIED#=1326113515
#OSFIELDMODE#=1
#OSGUID#49B4CEA9BADF49BlA3AEAC193ABC6093=Auftrag Eingang
#OSPOS000#=Auftrag Eingang
#OSGUID#DBFOC6B60C5F44A3AB37F92C8BC538A4=neu
#OSPOS001#=neu
#OSGUID#C5053863FA2D46B4B19C13BCAOC6D30C=324543
#OSPOS002#=324543
#OSACT#=1
FILECOUNT=0
FELD0=#OSPOS000#;Prozessname;feld1;X;50;0;0
FIELDEXT0=#OSPOS000#49B4CEA9BADF49BlA3AEAC193ABC6093Prozessnamefeld1WF_ProcessNameX5000
FELD1=#OSPOS001#;Bemerkung;feld2;X;1000;0;0
FIELDEXT1=#OSPOS001#DBFOC6B60C5F44A3AB37F92C8BC538A4Bemerkungfeld2WF_CommentX100000
FELD2=#OSPOS002#;ProzessId;feld4;X;1000;0;0
FIELDEXT2=#OSPOS002#C5053863FA2D46B4B19C13BCAOC6D30CProzessIdfeld4WF_ProcessIdX100000
FELD3=#OSPOS003#;Event;;K;0;0;0
FIELDEXT3=#OSPOS003#11DF4AlE9AF84A868234080712740618EventK000
#OSNAME#=Protokoll
#OSFOREIGNID#=0
[PAGE03]
#OSTYPE#=6553600
#OSIDENT#=884
#OSMAIN#=100
#OSMODIFIED#=0
FILECOUNT=0
[GLOBALS]
EventCode=1
Action=UPDATE
Handle=1442014
OrdIdent=882
OrdType=4
RegIdent=883
RegType=6488071
CANRESETFIELDS=1
CANINSERTFIELDS=1

Legen Sie ein Objekt neu an, wird ebenfalls das Event OnShow ausgelöst. Im Abschnitt [GLOBALS] finden Sie dann den Eintrag 'Action=NEW'. Legen Sie ein Dokument per Drag&Drop an, finden Sie den Pfad zur Datei über den Eintrag 'EXTERNDROPFILE'. Öffnen Sie die Anfragemaske für den Objekttyp, lautet der Eintrag 'Action=REQUEST'. Wird ein Datenblatt schreibgeschützt geöffnet, lautet der Eintrag 'Action=READONLY'. Skripte, die diese unterschiedlichen Action-Modi nicht beachten, führen zu Fehlern.

Wird ein Objekt durch Kopieren erzeugt, enthält die Übergabedatei einen zusätzlichen Eintrag, der die ID des Quellobjekts enthält. Der Eintrag hat folgende Struktur: 'CopyFrom=ID'

Wird ein Objekt aus einem Register geöffnet, enthält die Übergabedatei die Standortangabe. Der Eintrag hat folgende Struktur:

[GLOBALS]
EventLocationFolderIdent=81
EventLocationFolderType=0
EventLocationRegisterIdent=293
EventLocationRegisterType=6488065

Wird ein Objekt aus einem Ordner auf oberster Ebene geöffnet, enthält die Übergabedatei die Standortangabe in folgender Struktur:

[GLOBALS]
EventLocationFolderIdent=81
EventLocationFolderType=0
EventLocationRegisterIdent=4294967295
EventLocationRegisterType=4294967295

Wird ein Objekt aus einem Standort geöffnet, der kein Ordner ist, enthält die Übergabedatei die folgende Struktur:

[GLOBALS]
EventLocationFolderIdent=4294967295
EventLocationFolderType=4294967295
EventLocationRegisterIdent=4294967295
EventLocationRegisterType=4294967295

4294967295 bedeutet 'keine Angabe'.

 

enaio® client benötigt einen Rückgabewert für das Event OnShow:

'resultcode=1' überträgt die Daten aus der Übergabedatei in die Indexdatenmaske,

'resultcode=0' ändert die Daten nicht,

'resultcode=-1' bricht das Öffnen der Indexdatenmaske ab.

Mit dem Event OnShow können Sie beispielsweise die Eigenschaft 'Dialogelement sichtbar' ändern:

Activepage.AsFields.Item("Bemerkung").Visible = false
ResultCode=1
WriteToFile()

Analog können Sie über die Eigenschaft 'Enabled=False' einen Schreibschutz für einzelne Felder einrichten.

Schreibgeschützte Schaltflächen auf einer Datenmaske oder bei einem OnShow-Event können über die Eigenschaft auch aktiviert werden, um beispielsweise zugehörige Dokumente zu öffnen.

Voraussetzungen sind, dass im Event-Skript eine Event-Schaltfläche aktiviert werden kann und das Datenblatt keine PageControls besitzt.

Beispiel:

if AsFile.EventAction = "READONLY" then
    MsgBox "try to activate Schaltflaeche"
    ActivePage.ASFields.Item("&Schaltfläche").Enabled=true
end if
ResultCode=1
WriteToFile()

Ist ein Datenblatt über das AddOn 'Quickfinder' geöffnet worden, enthält die Übergabedatei im Abschnitt [GLOBALS] folgende Daten:

QUICKFINDER=1

Informiert, dass das Datenblatt über das AddOn 'Quickfinder' geöffnet wurde.

QUICKPARENTOBJECT=Objekttyp-ID

Gibt die ID des Dokumenttyps an, über den das AddOn 'Quickfinder' ausgeführt wurde.

Die Einträge 'CANRESETFIELDS=1' und 'CANINSERTFIELDS=1' im Abschnitt [GLOBALS] beziehen sich auf die Kontextmenüfunktionen 'Zurücksetzen' und 'Einfügen' auf einer Maske. 'Zurücksetzen' leert alle Felder, 'Einfügen' fügt kopierte Einträge eines anderen Objekts ein.

Wenn diese Funktionen nicht zur Verfügung stehen sollen, kann jeweils der Wert auf '0' gesetzt werden. Dann sind diese Funktionen deaktiviert.

Aus dem Eventskript kann statt des aktuellen Objekts ein Objekt über die Objekt-ID in der Inhalts-/Detaivorschau bzw. Dashlets angezeigt werden:

asfile.ContextObjIdent = ID

Die Inhalts-/Detailvorschau kann aus dem Eventskript aktualisiert werden:

asfile.RegeneratePreview = true

BeforeValidate

Das Event wird beim Ändern der Indexdaten durch die Funktion 'Speichern' auf der Indexdatenmaske eines Objekts, hier ein Dokument vom Typ 'Protokoll', ausgelöst. Beim 'Speichern' eines neu angelegten Objekts wird das Event ebenfalls ausgeführt, dann finden Sie im Abschnitt [GLOBALS] den Eintrag 'Action=NEW' statt 'Action=UPDATE'.

enaio® client erzeugt eine Übergabedatei mit Daten zum Ordner [PAGE00], zum Register [PAGE01], zum Dokument [PAGE02] und zu den Basisparametern [PAGE03].

Beispiel für Übergabedatei:

[PAGE00]
#OSTYPE#=4
#OSIDENT#=882
#OSMAIN#=0
#OSMODIFIED#=1283779767
#OSPOS000#=2010
#OSPOS001#=Aufträge
FILECOUNT=0
FELD0=#OSPOS000#;Jahr;zahl1;9;4;0;0
FIELDEXT0=#OSPOS000#18A1529714954419924950FFFD930FDEJahrzahl1WF_Year9400
FELD1=#OSPOS001#;Prozessfamilie;feld1;X;50;0;0
FIELDEXT1=#OSPOS001#8B022760BAE042CAB627F8A2945CC044Prozessfamiliefeld1WF_FamilyX5000
#OSNAME#=WF-Protokoll
[PAGE01]
#OSTYPE#=6488071
#OSIDENT#=883
#OSMAIN#=99
#OSMODIFIED#=1283779767
#OSPOS000#=April
FILECOUNT=0
FELD0=#OSPOS000#;Monat;feld1;X;50;0;0
FIELDEXT0=#OSPOS000#D622CD2C43D3490E87F36AF9ADF660D5Monatfeld1WF_MonthX5000
#OSNAME#=Allgemein
[PAGE02]
#OSTYPE#=131115
#OSIDENT#=884
#OSMAIN#=2
#OSMODIFIED#=1326113973
#OSFIELDMODE#=1
#OSGUID#49B4CEA9BADF49BlA3AEAC193ABC6093=Auftrag Eingang
#OSPOS000#=Auftrag Eingang
#OSGUID#DBFOC6B60C5F44A3AB37F92C8BC538A4=neu und bearbeitet
#OSPOS001#=neu und bearbeitet
#OSGUID#C5053863FA2D46B4B19C13BCAOC6D30C=324543
#OSPOS002#=324543
#OSACT#=1
FILECOUNT=1
FELD0=#OSPOS000#;Prozessname;feld1;X;50;0;0
FIELDEXT0=#OSPOS000#49B4CEA9BADF49BlA3AEAC193ABC6093Prozessnamefeld1WF_ProcessNameX5000
FELD1=#OSPOS001#;Bemerkung;feld2;X;1000;0;0
FIELDEXT1=#OSPOS001#DBFOC6B60C5F44A3AB37F92C8BC538A4Bemerkungfeld2WF_CommentX100000
FELD2=#OSPOS002#;ProzessId;feld4;X;1000;0;0
FIELDEXT2=#OSPOS002#C5053863FA2D46B4B19C13BCAOC6D30CProzessIdfeld4WF_ProcessIdX100000
FELD3=#OSPOS003#;Event;;K;0;0;0
FIELDEXT3=#OSPOS003#11DF4AlE9AF84A868234080712740618EventK000
#OSNAME#=Protokoll
#OSFOREIGNID#=0
[PAGE03]
#OSTYPE#=6553600
#OSIDENT#=884
#OSMAIN#=100
#OSMODIFIED#=0
#OSPOS000#=THOMAS
#OSPOS001#=1280227291
#OSPOS003#=ADMINISTRATOR
#OSPOS004#=1326113973
#OSPOS007#=A402C5EDF25744DBA04A622986E15042
#OSPOS006#=72
FILECOUNT=0
[GLOBALS]
EventCode=2
Action=UPDATE
Handle=590516
OrdIdent=882
OrdType=4
RegIdent=883
RegType=6488071
TargetMainType=-1

Wird ein Objekt durch Kopieren erzeugt, enthält die Übergabedatei einen zusätzlichen Eintrag, der die ID des Quellobjekts enthält. Der Eintrag hat folgende Struktur: 'CopyFrom=ID'

enaio® client benötigt für das Event einen Rückgabewert:

'resultcode=1' speichert die Daten aus der Übergabedatei in der Indexdatenmaske.

'resultcode=0' Daten werden nicht geändert.

'resultcode=-1' übernimmt keine Daten und lässt die Indexdatenmaske offen.

'resultcode=-2' überträgt die Daten aus der Übergabedatei in die Indexdatenmaske, die Indexdatenmaske bleibt in enaio® client mit den geänderten Daten offen.

enaio® client prüft die Daten und lässt bei 'resultcode=1' die Indexdatenmaske mit entsprechenden Benutzerhinweisen offen, wenn Daten nicht den Vorgaben entsprechen.

Die Katalogprüfung kann abgeschaltet werden. Dazu schreiben Sie im Abschnitt [GLOBALS] den Eintrag CHECKCATALOGVALUES=0:

oxhelp.writeprofstring "GLOBALS", "CHECKCATALOGVALUES", 0, osfile
Resultcode = 1
WriteToFile()

AfterValidate

Das Event entspricht BeforeValidate, wird aber nach der Plausibilitätsprüfung von enaio® client ausgeführt.

enaio® client benötigt für das Event einen Rückgabewert:

'resultcode=1' speichert die Daten aus der Übergabedatei in der Indexdatenmaske ohne weitere Validierung durch enaio® client.

'resultcode=0' Daten werden nicht geändert.

AfterSave

Das Event wird nach dem Speichern der Daten eines Datenblatts ausgeführt. enaio® client erwartet keine Rückgabe und liest die Daten aus der Übergabedatei nicht aus.

Die Übergabedatei enthält Daten zum Ordner [PAGE00], zum Dokument [PAGE01] und zu den Basisparametern [PAGE02].

Beispiel für Übergabedatei:

[PAGE00]
#OSTYPE#=4
#OSIDENT#=882
#OSMAIN#=0
#OSMODIFIED#=1283779716
#OSPOS000#=2010
#OSPOS001#=Aufträge
FILECOUNT=0
FELD0=#OSPOS000#;Jahr;zahl1;9;4;0;0
FIELDEXT0=#OSPOS000#18A1529714954419924950FFFD930FDEJahrzahl1WF_Year9400
FELD1=#OSPOS001#;Prozessfamilie;feld1;X;50;0;0
FIELDEXT1=#OSPOS001#8B022760BAE042CAB627F8A2945CC044Prozessfamiliefeld1WF_FamilyX5000
#OSNAME#=WF-Protokoll
[PAGE01]
#OSTYPE#=6488071
#OSIDENT#=883
#OSMAIN#=99
#OSMODIFIED#=1283779767
#OSPOS000#=April
FILECOUNT=0
FELD0=#OSPOS000#;Monat;feld1;X;50;0;0
FIELDEXT0=#OSPOS000#D622CD2C43D3490E87F36AF9ADF660D5Monatfeld1WF_MonthX5000
#OSNAME#=Allgemein
[PAGE02]
#OSTYPE#=131115
#OSIDENT#=884
#OSMAIN#=2
#OSMODIFIED#=1326114350
#OSFIELDMODE#=1
#OSGUID#49B4CEA9BADF49BlA3AEAC193ABC6093=Auftrag Eingang
#OSPOS000#=Auftrag Eingang
#OSGUID#DBFOC6B60C5F44A3AB37F92C8BC538A4=neu und bearbeitet
#OSPOS001#=neu und bearbeitet
#OSGUID#C5053863FA2D46B4B19C13BCAOC6D30C=324543
#OSPOS002#=324543
#OSACT#=1
FILECOUNT=1
FELD0=#OSPOS000#;Prozessname;feld1;X;50;0;0
FIELDEXT0=#OSPOS000#49B4CEA9BADF49BlA3AEAC193ABC6093Prozessnamefeld1WF_ProcessNameX5000
FELD1=#OSPOS001#;Bemerkung;feld2;X;1000;0;0
FIELDEXT1=#OSPOS001#DBFOC6B60C5F44A3AB37F92C8BC538A4Bemerkungfeld2WF_CommentX100000
FELD2=#OSPOS002#;ProzessId;feld4;X;1000;0;0
FIELDEXT2=#OSPOS002#C5053863FA2D46B4B19C13BCAOC6D30CProzessIdfeld4WF_ProcessIdX100000
FELD3=#OSPOS003#;Event;;K;0;0;0
FIELDEXT3=#OSPOS003#11DF4AlE9AF84A868234080712740618EventK000
#OSNAME#=Protokoll
#OSFOREIGNID#=0
[PAGE03]
#OSTYPE#=6553600
#OSIDENT#=884
#OSMAIN#=100
#OSMODIFIED#=0
#OSPOS000#=THOMAS
#OSPOS001#=1280227291
#OSPOS003#=ADMINISTRATOR
#OSPOS004#=1326114350
#OSPOS007#=A402C5EDF25744DBA04A622986E15042
#OSPOS006#=72
FILECOUNT=0
[GLOBALS]
EventCode=2
Action=UPDATE
Handle=458922
OrdIdent=882
OrdType=4
RegIdent=883
RegType=6488071
TargetMainType=-1

BeforeStartQuery

Das Event wird durch die Funktion 'Anfrage starten' aus einer Anfragemaske ausgeführt. Die Übergabedatei enthält die Daten der Anfragemasken. Diese Daten können Sie über das Skript ändern.

enaio® client liest die Daten aus der Übergabedatei in die Anfragemasken ein und startet die Suche, wenn Sie 'resultcode=1' in die Übergabedatei schreiben.

'resultcode=0' startet die Suche ohne Änderungen.

'resultcode=-1' führt zum Abbruch der Suche.

Die Übergabedatei enthält Daten zu den Anfragemasken und zu den eingegebenen Suchbegriffen. Im Beispiel wurde der Suchbegriff '324543' in das Feld 'ProzessID' der Anfragemaske zum Dokument eingetragen und der Suchbegriff '2010' in das Feld 'Jahr' der Ordner-Anfragemaske.

Die Nummerierung der Page-Abschnitte entspricht bei kombinierten Anfragen der Datenblattfolge von links nach rechts in enaio® client. Das Event ist einem Objekt zugeordnet und wird nur ausgeführt, wenn das Datenblatt dieses Objekts bei kombinierten Anfragen aktiv ist.

Beispiel für Übergabedatei:

[PAGE00]
#OSTYPE#=131115
#OSIDENT#=0
#OSMAIN#=2
#OSMODIFIED#=0
#OSFIELDMODE#=1
#OSGUID#C5053863FA2D46B4B19C13BCAOC6D30C=324543
#OSPOS002#=324543
#OSACT#=1
FILECOUNT=0
FELD0=#OSPOS000#;Prozessname;feld1;X;50;0;0
FIELDEXT0=#OSPOS000#49B4CEA9BADF49BlA3AEAC193ABC6093Prozessnamefeld1WF_ProcessNameX5000
FELD1=#OSPOS001#;Bemerkung;feld2;X;1000;0;0
FIELDEXT1=#OSPOS001#DBFOC6B60C5F44A3AB37F92C8BC538A4Bemerkungfeld2WF_CommentX100000
FELD2=#OSPOS002#;ProzessId;feld4;X;1000;0;0
FIELDEXT2=#OSPOS002#C5053863FA2D46B4B19C13BCAOC6D30CProzessIdfeld4WF_ProcessIdX100000
FELD3=#OSPOS003#;Event;;K;0;0;0
FIELDEXT3=#OSPOS003#11DF4AlE9AF84A868234080712740618EventK000
#OSNAME#=Protokoll
[PAGE01]
#OSTYPE#=6488071
#OSIDENT#=884
#OSMAIN#=99
#OSMODIFIED#=1283779716
#OSFIELDMODE#=1
FILECOUNT=0
FELD0=#OSPOS000#;Monat;feld1;X;50;0;0
FIELDEXT0=#OSPOS000#D622CD2C43D3490E87F36AF9ADF660D5Monatfeld1WF_MonthX5000
#OSNAME#=Allgemein
[PAGE02]
#OSTYPE#=131115
#OSIDENT#=884
#OSMAIN#=2
#OSMODIFIED#=1326114350
#OSFIELDMODE#=1
#OSGUID#DDF9D11554884EA6BA217F99189CDF01=2010
#OSPOS000#=2010
FILECOUNT=0
FELD0=#OSPOS000#;Jahr;zahl1;9;4;0;0
FIELDEXT0=#OSPOS000#DDF9D11554884EA6BA217F99189CDF01Jahrzahl1WF_Year9400
FELD1=#OSPOS001#;Prozessfamilie;feld1;X;50;0;0
FIELDEXT1=#OSPOS001#D70773C5AFDB4894A739C2119093DAA0Prozessfamiliefeld1WF_FamilyX5000
#OSNAME#=WF-Protokoll
[GLOBALS]
EventCode=4
Action=
Handle=1905136
OrdIdent=-1
OrdType=-1
RegIdent=-1
RegType=-1

BeforeOpen

Das Event wird ausgeführt, nachdem Sie für ein Dokument die Funktion 'Öffnen' ausgeführt haben. Die Übergabedatei enthält die Indexdaten des Dokuments, aber keine weiteren Daten wie beispielsweise Basisparameter.

enaio® client öffnet das Dokument, wenn Sie 'resultcode=1' in die Übergabedatei schreiben. Ist es ausgecheckt, dann wird es schreibgeschützt geöffnet. 'resultcode=3' öffnet das Dokument und gibt zusätzlich einen Hinweis, falls das Dokument ausgecheckt ist und nur schreibgeschützt geöffnet werden kann.

'resultcode=2' öffnet das Dokument schreibgeschützt.

'resultcode=0' öffnet das Dokument nicht. Ohne Rückgabewert wird das Dokument ebenfalls nicht geöffnet.

'resultcode=-4': Nur für Workflow-Event: beinhaltet als Rückgabewert die Objekt-ID und den Objekt-Typ. Sobald zwischen verschiedenen Workflow-Vorgängen, Trefferlisten und geöffneten Standorten gewechselt wird, bleibt das Dokument im Dokumentviewer angezeigt.

Beispiel für Übergabedatei:

[PAGE00]
#OSTYPE#=131115
FILECOUNT=1
#OSPOS000#=Auftrag Eingang
FELD0=#OSPOS000#;Prozessname;feld1;X;50
FIELDEXT0=#OSPOS000#49B4CEA9BADF49BlA3AEAC193ABC6093Prozessnamefeld1WF_ProcessNameX50
#OSPOS001#=neu und bearbeitet
FELD1=#OSPOS001#;Bemerkung;feld2;X;1000
FIELDEXT1=#OSPOS001#DBFOC6B60C5F44A3AB37F92C8BC538A4Bemerkungfeld2WF_CommentX1000
#OSPOS002#=324543
FELD2=#OSPOS002#;ProzessId;feld4;X;1000
FIELDEXT2=#OSPOS002#C5053863FA2D46B4B19C13BCAOC6D30CProzessIdfeld4WF_ProcessIdX1000
#OSIDENT#=884
#OSNAME#=Protokoll
[GLOBALS]
EventCode=16
Action=READONLY
OrdIdent=882
OrdType=4
RegIdent=883
RegType=6488071
CHECKOUT=0

Für den Workflow kann die Inhalts-/Detailvorschau aus dem Eventskript aktualisiert werden:

scriptresult.RegeneratePreview = true

BeforeDelete

Das Event wird ausgeführt, nachdem Sie für ein Dokument, Ordner oder Register die Funktion 'Löschen' ausgeführt haben. Die Übergabedatei enthält die Indexdaten des Objekts, aber keine weiteren Daten wie beispielsweise Basisparameter.

enaio® client löscht das Dokument, wenn Sie 'resultcode=1' in die Übergabedatei schreiben.

'resultcode=0' löscht das Dokument nicht.

Beispiel für Übergabedatei:

[PAGE00]
#OSTYPE#=131115
FILECOUNT=1
#OSPOS000#=Auftrag Eingang
FELD0=#OSPOS000#;Prozessname;feld1;X;50
FIELDEXT0=#OSPOS000#49B4CEA9BADF49BlA3AEAC193ABC6093Prozessnamefeld1WF_ProcessNameX50
#OSPOS001#=kopiert
FELD1=#OSPOS001#;Bemerkung;feld2;X;1000
FIELDEXT1=#OSPOS001#DBFOC6B60C5F44A3AB37F92C8BC538A4Bemerkungfeld2WF_CommentX1000
#OSPOS002#=324543
FELD2=#OSPOS002#;ProzessId;feld4;X;1000
FIELDEXT2=#OSPOS002#C5053863FA2D46B4B19C13BCAOC6D30CProzessIdfeld4WF_ProcessIdX1000
#OSIDENT#=2189
#OSNAME#=Protokoll
[GLOBALS]
EventCode=11
OrdIdent=0
OrdType=4

BeforeUndoCheckOut

Das Event wird ausgeführt, nachdem Sie für ein oder mehrere Dokumente die Funktion 'Auschecken zurücknehmen' ausgeführt haben. Die Übergabedatei enthält die Indexdaten des Dokuments, aber keine weiteren Daten wie beispielsweise Basisparameter.

Bei 'resultcode=1' wird das Auschecken ohne Rückfrage des Benutzer rückgängig gemacht.

Der enaio® client nimmt das Auschecken des Dokuments zurück, wenn Sie 'resultcode=0' in die Übergabedatei schreiben.

Sind mehrere Dokumente markiert, wird bei 'resultcode=-1' das Auschecken für alle markierten Dokumente nicht rückgängig gemacht.

'resultcode=-2' nimmt das Auschecken des aktuellen Dokuments nicht zurück.

Über die Konstante 'NumberOfSelectedDocuments' können Sie im Skript abfragen, für wie viele Dokumente das Auschecken zurückgenommen werden soll.

Beispiel für Übergabedatei:

[PAGE00]
#OSTYPE#=131115
FILECOUNT=1
#OSPOS000#=Auftrag Eingang
FELD0=#OSPOS000#;Prozessname;feld1;X;50
FIELDEXT0=#OSPOS000#49B4CEA9BADF49BlA3AEAC193ABC6093Prozessnamefeld1WF_ProcessNameX50
FELD1=#OSPOS001#;Bemerkung;feld2;X;1000
FIELDEXT1=#OSPOS001#DBFOC6B60C5F44A3AB37F92C8BC538A4Bemerkungfeld2WF_CommentX1000
#OSPOS002#=324543
FELD2=#OSPOS002#;ProzessId;feld4;X;1000
FIELDEXT2=#OSPOS002#C5053863FA2D46B4B19C13BCAOC6D30CProzessIdfeld4WF_ProcessIdX1000
#OSIDENT#=2189
#OSNAME#=Protokoll
[GLOBALS]
EventCode=27
OrdIdent=882
OrdType=4
RegIdent=883
RegType=6488071

AfterDelete

Das Event wird ausgeführt, nachdem Sie ein Dokument, Ordner oder Register gelöscht haben. Die Übergabedatei enthält die Indexdaten des Objekts, aber keine weiteren Daten wie beispielsweise Basisparameter.

enaio® client erzeugt die Übergabedatei, führt das Skript aus, liest aber keine Daten aus der Übergabedatei.

Beispiel für Übergabedatei:

[PAGE00]
#OSTYPE#=4
FILECOUNT=0
#OSPOS000#=2010
FELD0=#OSPOS000#;Jahr;zahl1;9;4
FIELDEXT0=#OSPOS000#18A1529714954419924950FFFD930FDEJahrzahl1WF_Year9400
FELD1=#OSPOS001#;Prozessfamilie;feld1;X;50
FIELDEXT1=#OSPOS001#8B022760BAE042CAB627F8A2945CC044Prozessfamiliefeld1WF_FamilyX5000
#OSIDENT#=1805
#OSNAME#=WF-Protokoll
[GLOBALS]
EventCode=12

OnMove

Das Event wird ausgeführt, wenn Sie ein Objekt innerhalb eines Schranks an einen anderen Standort verschieben. Die Übergabedatei enthält die Indexdaten des Objekts.

Im Abschnitt [MOVEINFO] stehen Informationen zum Ursprungs- und Zielort. Den Zielort können Sie beispielsweise durch das Skript überprüfen und ändern.

  • SOURCEINFO

SOURCEINFO=OrdnerID,OrdnerTyp,RegisterID,RegisterTyp

  • DESTINFO

DESTINFO=OrdnerID,RegisterID

OBJECTEXISTONTARGETLOCATION gibt an, ob das Objekt am Ziel bereits existiert: 1 = Objekt existiert, 0 = Objekt existiert nicht.

Das Verschieben wird mit den Daten aus der Übergabedatei ausgeführt, wenn Sie 'resultcode=1' zurückschreiben.

'resultcode=-1' führt das Verschieben nicht aus.

Beispiel für Übergabedatei:

[PAGE00]
#OSTYPE#=131115
FILECOUNT=1
#OSPOS000#=Auftrag Eingang
FELD0=#OSPOS000#;Prozessname;feld1;X;50
FIELDEXT0=#OSPOS000#49B4CEA9BADF49BlA3AEAC193ABC6093Prozessnamefeld1WF_ProcessNameX50
#OSPOS001#=neuer Auftrag Januar
FELD1=#OSPOS001#;Bemerkung;feld2;X;1000
FIELDEXT1=#OSPOS001#DBFOC6B60C5F44A3AB37F92C8BC538A4Bemerkungfeld2WF_CommentX1000
#OSPOS002#=334543
FELD2=#OSPOS002#;ProzessId;feld4;X;1000
FIELDEXT2=#OSPOS002#C5053863FA2D46B4B19C13BCAOC6D30CProzessIdfeld4WF_ProcessIdX1000
#OSIDENT#=2196
#OSNAME#=Protokoll
[GLOBALS]
EventCode=17
OrdIdent=2190
OrdType=4
RegIdent=0
RegType=0
OBJECTEXISTONTARGETLOCATION=0
[MOVEINFO]
SOURCEINFO=2190,4,0,0
DESTINFO=2190,2193
DESTINFO2=2190,2193,6488071

OnMoveExtern

Das Event wird ausgeführt, wenn Sie ein Objekt in einen anderen Schrank verschieben. Die Übergabedatei enthält die Indexdaten des Objekts und entspricht der des Events 'OnMove'.

OnAddLocation

Das Event wird ausgeführt, wenn ein Register oder Dokument per Drag & Drop einen weiteren Standort erhält.

Die Übergabedatei enthält die Indexdaten des Objekts.

Im Abschnitt [COPYINFO] stehen Informationen zum Ursprungs- und Zielort. Den Zielort können Sie beispielsweise durch das Skript überprüfen und ändern.

  • SOURCEINFO

SOURCEINFO=OrdnerID,OrdnerTyp,RegisterID,RegisterTyp

  • DESTINFO

DESTINFO=OrdnerID,RegisterID

Das Hinzufügen eines Standorts wird mit den Daten aus der Übergabedatei ausgeführt, wenn Sie 'resultcode=1' zurückschreiben. 'resultcode=-0' führt das Hinzufügen eines Standorts nicht aus.

Beispiel für Übergabedatei:

[PAGE00]
#OSTYPE#=131115
FILECOUNT=1
#OSPOS000#=Auftrag Bearbeitung
FELD0=#OSPOS000#;Prozessname;feld1;X;50
FIELDEXT0=#OSPOS000#49B4CEA9BADF49BlA3AEAC193ABC6093Prozessnamefeld1WF_ProcessNameX50
#OSPOS001#=Auftrag wird jetzt weiter bearbeitet
FELD1=#OSPOS001#;Bemerkung;feld2;X;1000
FIELDEXT1=#OSPOS001#DBFOC6B60C5F44A3AB37F92C8BC538A4Bemerkungfeld2WF_CommentX1000
#OSPOS002#=3345439
FELD2=#OSPOS002#;ProzessId;feld4;X;1000
FIELDEXT2=#OSPOS002#C5053863FA2D46B4B19C13BCAOC6D30CProzessIdfeld4WF_ProcessIdX1000
#OSIDENT#=2197
#OSNAME#=Protokoll
[GLOBALS]
EventCode=18
OrdIdent=2190
OrdType=4
RegIdent=2194
RegType=6488071
[COPYINFO]
SOURCEINFO=2190,4,2194,6488071
DESTINFO=2190,2195
DESTINFO2=2190,2195,6488071

OnCreateCopy

Das Event wird ausgeführt, wenn ein Register oder Dokument kopiert wird. Die Übergabedatei enthält die Indexdaten des Objekts und entspricht der des Events 'OnAddLocation'.

OBJECTEXISTONTARGETLOCATION gibt an, ob das Objekt am Ziel bereits existiert: 1 = Objekt existiert, 0 = Objekt existiert nicht.

BeforeLink

Das Event wird ausgeführt, wenn Sie über den Verknüpfungsbereich eine Verknüpfung anlegen.

Die Übergabedatei enthält die Indexdaten der beiden Objekte in den Abschnitten [PAGE00] und [PAGE01].

Im Abschnitt [GLOBALS] sind über folgende Struktur die verbundenen Objekte angegeben:

[GLOBALS]
EventCode=21
Action=BEFORELINK
LINKOBJECTID1=1868
LINKOBJECTTYPE1=4
LINKOBJECTID2=1808
LINKOBJECTTYPE2=4

Schreiben Sie 'resultcode=0' zurück, wird die Verknüpfung erstellt. Andere Werte als '0' führen zum Abbruch, die Verknüpfung wird nicht erstellt.

BeforeDeleteLink

Das Event wird ausgeführt, wenn Sie über das Notiz-Fenster und den Notizbereich des Ordner-Fensters eine Verknüpfung löschen.

Die Übergabedatei entspricht der Übergabedatei beim Event 'BeforeLink'.

Schreiben Sie 'resultcode=0' zurück, wird die Verknüpfung gelöscht. Andere Werte als '0' führen zum Abbruch. Die Verknüpfung wird nicht gelöscht.

AfterLink

Das Event wird ausgeführt, nachdem Sie eine Verknüpfung angelegt haben.

Die Übergabedatei entspricht der Übergabedatei beim Event 'BeforeLink'. enaio® client liest keine Daten zurück.

AfterDeleteLink

Das Event wird ausgeführt, nachdem Sie eine Verknüpfung gelöscht haben.

Die Übergabedatei entspricht der Übergabedatei beim Event 'BeforeLink'. enaio® client liest keine Daten aus der Übergabedatei.

BeforeSaveDocument

Das Event wird ausgeführt, bevor Sie ein Dokument eingecheckt haben.

Ausgecheckte Dokumente werden ebenfalls eingecheckt, wenn enaio® client beendet wird. Auch dann wird das Event ausgeführt.

Die Übergabedatei enthält im Abschnitt [PAGE00] die Indexdaten des Dokuments. Angegeben sind ebenfalls Bezeichnung und Pfad der Dokumentdateien im lokalen Cachebereich des Arbeitsplatzes.

Beispiel:

FILE0=...\LOKALE~1\TEMP\OSTEMP\00000791\CACHE\03\11\2D\00000C2D.000

FILE1=...\LOKALE~1\TEMP\OSTEMP\00000791\CACHE\03\11\2D\00000C2D.001

Im Abschnitt [GLOBALS] sind zusätzlich ID und Typ für den Ordner und das Register angegeben.

Schreiben Sie 'resultcode=0' zurück, wird das Dokument eingecheckt.

Schreiben Sie 'resultcode=-2', wird komplett abgebrochen.

Bei anderen Rückgabewerten wird das aktuelle Dokument nicht eingecheckt, sondern mit dem folgenden Dokument fortgefahren.

AfterSaveDocument

Das Event wird ausgeführt, nachdem Sie ein Dokument eingecheckt haben.

Die Übergabedatei entspricht der Übergabedatei beim Event 'BeforeSaveDocument'. Bezeichnung und Pfad der Dokumentdateien sind nicht enthalten, wurde eine Datei per Drag&Drop übernommen, ist der Ausgangspfad zu dieser Datei als Wert von 'EXTERNDROPFILE' in der Übergabedatei angegeben.

enaio® client liest keine Daten aus der Übergabedatei.

BeforeCancel

Das Event wird ausgeführt, nachdem auf einem nicht schreibgeschützten Datenblatt auf den Button Abbrechen geklickt wurde.

Die Übergabedatei entspricht der Übergabedatei beim Event 'OnShow'.

'resultcode=0' führt dazu, dass das Datenblatt offen bleibt.

Alle anderen Rückgabewerte schließen das Datenblatt.

BeforeRestore

Das Event wird ausgeführt, wenn im Papierkorb ein Objekt markiert ist und auf den Button Wiederherstellen geklickt wird.

'resultcode=0' bricht das Wiederherstellen ab.

Alle anderen Rückgabewerte führen zum Wiederherstellen.

Die Übergabedatei enthält einen Page-Abschnitt mit den Daten des Objekts. Im Global-Abschnitt sind gegebenenfalls Ordner und Register des ehemaligen Standorts über die ID angegeben.

Beispiel für eine Übergabedatei:

[PAGE00]
#OSTYPE#=131115
FILECOUNT=1
#OSPOS000#=Auftrag Eingang
FELD0=#OSPOS000#;Prozessname;feld1;X;50
FIELDEXT0=#OSPOS000#49B4CEA9BADF49B1A3AEAC193ABC6093Prozessnamefeld1WF_ProcessNameX50
#OSPOS001#=nicht archiviert
FELD1=#OSPOS001#;Bemerkung;feld2;X;1000
FIELDEXT1=#OSPOS001#DBF0C6B60C5F44A3AB37F92C8BC538A4Bemerkungfeld2WF_CommentX1000#OSPOS002#=3827982
FELD2=#OSPOS002#;ProzessId;feld4;X;1000
FIELDEXT2=#OSPOS002#C5053863FA2D46B4B19C13BCA0C6D30CProzessIdfeld4WF_ProcessIdX1000
#OSIDENT#=888
#OSNAME#=Protokoll
[GLOBALS]
EventCode=28
OrdIdent=882
OrdType=4
RegIdent=883
RegType=6488071

AfterRestore

Das Event wird ausgeführt, nachdem ein Objekt aus dem Papierkorb wiederhergestellt wurde.

Die Übergabedatei entspricht der Übergabedatei von 'BeforeRestore'.

Rückgaben werden nicht ausgewertet.

OnEnterPage

Das Event wird ausgeführt, wenn eine Seite des Dialogelements 'Pagecontrol' aktiviert wird.

Eine Rückgabe von Werten erfolgt nicht. Beim Wechsel auf einer Anfragemaske steht im Abschnitt [Globals] Action=REQUEST, beim Wechsel auf einem Datenblatt steht dort Action=UPDATE.

Der folgende Übergabedatei-Ausschnitt zeigt den grundsätzlichen Aufbau:

[PAGE00]
#OSTYPE#=131099
#OSIDENT#=0
#OSMAIN#=2
#OSMODIFIED#=0
#OSFIELDMODE#=1
#OSGUID#CC1BFA61B998452889F88490E4B43D4E=
#OSPOS000#=
#OSGUID#18D353BE7AFF438AB979D6756E70DB35=
#OSPOS001#=
#OSGUID#83C3D6EF056041A88DDA3F4D77FC69EF=
#OSPOS002#=
#OSGUID#F963306AD1644393995EAA1A0B17B9C6=
#OSPOS004#=
#OSGUID#1B0A05E891674ED3BA5E189663BE84FF=
#OSPOS005#=
#OSACT#=1
FILECOUNT=0
FELD0=#OSPOS000#;Inhalt;feld1;X;50;0;0;0;0
FIELDEXT0=#OSPOS000#CC1BFA61B998452889F88490E4B43D4EInhaltfeld1feld1X500000
FELD1=#OSPOS001#;Ort;feld2;X;50;0;0;0;0
FIELDEXT1=#OSPOS001#18D353BE7AFF438AB979D6756E70DB35Ortfeld2feld2X500000
FELD2=#OSPOS002#;PLZ;feld5;X;50;0;0;0;0
FIELDEXT2=#OSPOS002#83C3D6EF056041A88DDA3F4D77FC69EFPLZfeld5feld5X500000
FELD3=#OSPOS003#;PageCtrl2;;C;0;0;0;0;0
FIELDEXT3=#OSPOS003#CC05C0F861E04FC686A4CCA5E4334FF2PageCtrl2OSCC05C0F861E04FC686A4CCA5E4334FF2C00000
#OSNAME#=Dok
[PAGE00#581C423D7EEB47008FE27072BC4576CB]
#OSTYPE#=131099
#OSFIELDMODE#=1
#OSGUID#AA4E3B1AB2164DC4B1AE1E43AD4E99CB=
#OSPOS000#=
#OSGUID#C9B1052044C242A28B4722E3B438473F=
#OSPOS001#=
#OSENABLED#=1
#OSACT#=0
#FIELDPOS#=#OSPOS003#
#OSNAME#=Seite0
#OSINTERNNAME#=
#OSPARENTGUID#=CC05C0F861E04FC686A4CCA5E4334FF2
FELD0=#OSPOS000#;Ersteller;feld3;X;50;0;0;0;0
FIELDEXT0=#OSPOS000#AA4E3B1AB2164DC4B1AE1E43AD4E99CBErstellerfeld3feld3X500000
FELD1=#OSPOS001#;Bearbeiter;feld4;X;50;0;0;0;0
FIELDEXT1=#OSPOS001#C9B1052044C242A28B4722E3B438473FBearbeiterfeld4feld4X500000
[PAGE00#F408572A7BED481BB1129D8EAAEE6F2A]
#OSTYPE#=131099
#OSENABLED#=1
#OSACT#=1
#FIELDPOS#=#OSPOS003#
#OSNAME#=Seite1
#OSINTERNNAME#=
#OSPARENTGUID#=CC05C0F861E04FC686A4CCA5E4334FF2
FELD0=#OSPOS000#;Tabelle8;list1;W;0;0;0;0;0
FIELDEXT0=#OSPOS000#CE5F6DDCA4AF4F009F88831BB6420C89Tabelle8list1list1W00000
[object89list1]
SELECTEDLINES=0
FIELDS=line,feld1,feld2,feld3
[LISTCONTROL]
TABLES=object89list1
[PAGE00#15CF1801F43D4F17AFFC2FEF8920153E]
#OSTYPE#=131099
#OSFIELDMODE#=1
#OSGUID#D4ADA5A2FDC740DD96CCC8831E1B8A72=
#OSPOS000#=
#OSGUID#F6BD4739B05347EAA03EE27FDC21FE7E=
#OSPOS001#=
#OSGUID#A540BB80B4D84212B482DBEEC51D5353=
#OSPOS002#=
#OSENABLED#=1
#OSACT#=0
#FIELDPOS#=#OSPOS003#
#OSNAME#=Seite2
#OSINTERNNAME#=
#OSPARENTGUID#=CC05C0F861E04FC686A4CCA5E4334FF2
FELD0=#OSPOS000#;Text9;feld8;X;50;0;0;0;0
FIELDEXT0=#OSPOS000#D4ADA5A2FDC740DD96CCC8831E1B8A72Text9feld8feld8X500000
FELD1=#OSPOS001#;Text10;feld9;X;50;0;0;0;0
FIELDEXT1=#OSPOS001#F6BD4739B05347EAA03EE27FDC21FE7EText10feld9feld9X500000
FELD2=#OSPOS002#;Text11;feld10;X;50;0;0;0;0
FIELDEXT2=#OSPOS002#A540BB80B4D84212B482DBEEC51D5353Text11feld10feld10X500000
[PAGECTRL#CC05C0F861E04FC686A4CCA5E4334FF2]
#PAGENAME#=PageCtrl2
#PAGEOSINTERNNAME#=OSCC05C0F861E04FC686A4CCA5E4334FF2
#PAGEGUID#=CC05C0F861E04FC686A4CCA5E4334FF2
#PAGENAME0#=Seite0
#PAGEOSINTERNNAME0#=
#PAGEGUID0#=581C423D7EEB47008FE27072BC4576CB
#PAGENAME1#=Seite1
#PAGEOSINTERNNAME1#=
#PAGEGUID1#=F408572A7BED481BB1129D8EAAEE6F2A
#PAGENAME2#=Seite2
#PAGEOSINTERNNAME2#=
#PAGEGUID2#=15CF1801F43D4F17AFFC2FEF8920153E
[GLOBALS]
EventCode=25
Action=REQUEST
Handle=3410346
OrdIdent=-1
OrdType=-1
RegIdent=-1
RegType=-1
EventLocationFolderIdent=4294967295
EventLocationFolderType=4294967295
EventLocationRegisterIdent=4294967295
EventLocationRegisterType=4294967295
CANRESETFIELDS=1
CANINSERTFIELDS=1
CANSHOWBASEPAGE=1

Die aktive Seite erkennen Sie am Eintrag #OSACT#=1.

Die PAGE00, auf der das Pagecontrol eingefügt wurde, wird untergliedert in die definierten Seiten des Pagecontrols, die jeweils eine eigenständige ID erhalten:

  • [PAGE00#581C423D7EEB47008FE27072BC4576CB

  • [PAGE00#F408572A7BED481BB1129D8EAAEE6F2A]

OnLeavePage

Das Event wird ausgeführt, wenn eine Seite des Dialogelements 'Pagecontrol' verlassen wird.

Die Übergabedatei entspricht der Übergabedatei von 'OnEnterPage'.

Rückgaben werden nicht ausgewertet.

OnFocusGained

Das Event wird ausgeführt, wenn der Fokus auf ein Textfeld gelegt wird.

Die Übergabedatei entspricht der Übergabedatei von 'OnEnterPage'.

Die Inhalts-/Detailvorschau kann aus dem Eventskript aktualisiert werden:

asfile.RegeneratePreview = true

Aus Workflowskripten:

scriptresult.RegeneratePreview = true

OnCellFocusGained

Das Event wird ausgeführt, wenn der Fokus auf eine Tabellenzelle gelegt wird.

Die Übergabedatei enthält die Tabellendaten.

Rückgaben werden nicht ausgewertet.

Bei schreibgeschützten Tabellen wird das Event mit der Übergabe der Spalten-ID '0' aufgrufen.

OnValueChanged

Das Event wird einem Feld zugeordnet und ausgeführt, wenn die Eingabe in einem Feld abgeschlossen und das Feld, bei Katalogen und AddOns der Dialog, verlassen wird.

'resultcode=-1' geht zurück zum Feld, der Eintrag wird nicht geändert.

'resultcode=1' führt zur Übernahme der Daten aus der Übernahmedatei in das Feld.

'resultcode=0' führt keine Änderungen aus.

[PAGE00]
#OSTYPE#=6488066
#OSIDENT#=0
#OSMAIN#=99
#OSMODIFIED#=0
#OSFIELDMODE#=1
#OSGUID#91E0A4DBC66A4BAA8019233421E3636E=x
#OSPOS000#=x
#OSGUID#D49A24AAB13E4D02951BE60C11095563=
#OSPOS001#=
#OSGUID#87006078712547049560190C492429FE=
#OSPOS002#=
#OSGUID#751CF046B3244F7E9B231F900BF80CB5=
#OSPOS003#=
#OSACT#=1
FILECOUNT=0
FELD0=#OSPOS000#;Text;feld1;X;50;0;0;0;0
FIELDEXT0=#OSPOS000#91E0A4DBC66A4BAA8019233421E3636ETextfeld1feld1X500000
FELD1=#OSPOS001#;Datum;datum1;D;10;0;0;0;0
FIELDEXT1=#OSPOS001#D49A24AAB13E4D02951BE60C11095563Datumdatum1datum1D100000
FELD2=#OSPOS002#;Datum/Zeit;zahl1;9;19;0;0;0;0
FIELDEXT2=#OSPOS002#87006078712547049560190C492429FEDatum/Zeitzahl1zahl19190000
FELD3=#OSPOS003#;kurz;feld2;X;4;0;0;0;0
FIELDEXT3=#OSPOS003#751CF046B3244F7E9B231F900BF80CB5kurzfeld2feld2X40000
#OSNAME#=Register2
[GLOBALS]
EventCode=33
Action=REQUEST
Handle=139488
OrdIdent=-1
OrdType=-1
RegIdent=-1
RegType=-1
EventLocationFolderIdent=4294967295
EventLocationFolderType=4294967295
EventLocationRegisterIdent=4294967295
EventLocationRegisterType=4294967295
CANRESETFIELDS=1
CANINSERTFIELDS=1
CANSHOWBASEPAGE=1

Für Anfragemasken steht im Abschnitt [Globals] Action=REQUEST, für Datenblätter steht dort Action=UPDATE.

FileDrop

Das Event wird nach dem Anlegen von Dateien per Drag&Drop an einem Standort ausgeführt.

'resultcode=-1' bricht die Aktion ab und übernimmt keine Dateien.

'resultcode=1' führt nur zu einer Aktualisierung der Trefferliste.

'resultcode=0' führt zum Anlegen der in der Übergabedatei angegebenen Daten durch enaio® client.

Beispiel für den Abschnitt [Globals] einer Übergabedatei:

[GLOBALS]
EventCode=200
OrdIdent=673
OrdType=3
RegIdent=967
RegType=6488070
[FILES]
COUNT=2
FILE1=C:\Users\thomas\Documents\picture.tif
FILE2=C:\Users\thomas\Documents\scan.tif