' DOKUMENTENSTATUS ÄNDERN ' © 2005 by Lukasz Szopa, info@open-document.de ' www.open-document.de ' Für ELOprofessional ab 3.0, sowie ELOoffice 5.0 und 6.0 ' Dieses Skript verändert nach Wunsch den Dokumentenstatus, je nach ' Vorgabe im Skript. Entscheidend ist hier die erste IF-Abfrage. Hier ' wird erstens definiert, welche Art der Dokumente in Frage kommt ' (im Beispiel: Einschränkung auf Maske Nr. 4), und auf welchen Doku-Status ' die Dokumente eines Archivelements verändert werden sollen. ' In den jeweiligen Funktionen kann genauer definiert werden, welche ' Dokumente(stati) ggf. NICHT verändert werden sollen. Im Skript sind z.B ' die Änderungen der Revisionssicheren-Dokumente DEAKTIVIERT. ' ' Solche Veränderungen im Nachhinein sind vor allem dann praktisch, wenn ' man nicht manuell bereits abgelegte Dokumente einzeln auf einen anderen ' Dokumenten-Status verändern möchte. Allerdings sollte das Skript nur vom ' Administrator benutzt werden und dabei die Prinzipien der Revisionssicherheit ' nicht umgangen werden! ' ' FUNKTIONSWEISE: Dieses Skript wird vom anderen Skript ("Aufruf_ChangeDosStatus") ' aufgerufen, wo der Name dieses Skripts ("ChangeDocStatus") festgelegt ist. ' D.h. man geht auf ein Strukturelement (Schrank, Ordner, Register), ' und aktiviert das Aufruf-Skript. Dann wird für jedes Element/Dokument im ' urspr. markiertem Strukturelement das eigentliche Skript ("ChangeDocStatus") ' aktiviert. Auf diese Weise kann man bequem und flexibel jeweils die Quelle ' des Vorgangs der Status-Veränderung wählen. ' Dieses Beispiel-Skript funktioniert in einem Fall NICHT: Bei Dokumenten, ' die verschlüsselt sind. Man kann es allerdings dahingehend anpassen, je ' nach Vorgaben (Verschlüsselungskreise) der jeweiligen ELO-Umgebung. ' WEITERE ANWENDUNGEN UND OPTIONEN: Vor allem die genauere Einschränkung ' der Dokumente, z.B. durch Maskennummer, Datum (von-bis), oder Feldinhalte. set Elo = CreateObject("ELO.professional") If Elo.ObjTypeEx>254 and Elo.ObjMaskNo=17 Then ' wenn Dokument mit Maske 4 FlagWert=Elo.ObjFlags ' Dokumentenstatus auslesen go1=AufFrei (FlagWert) ' Ändern aller Dok-Stati auf "Freie Bearbeitung" 'go2=AufVers (FlagWert) ' Ändern aller Dok-Stati auf "Versionskontrolliert" 'go3=AufRev (FlagWert) ' Ändern aller Dok-Stati auf "Revisionssicher" End if Function AufFrei (flag) ' Änderung auf "Freie Bearbeitung" If flag=1073741825 then ' Von "Versionskontrolle / kein Volltext" Elo.ObjFlags=1073741824 Elo.UpdateObject() End if If flag=1073741889 then ' Von "Versionskontrolle / mit Volltext" Elo.ObjFlags=1073741888 Elo.UpdateObject() End if 'If flag=1073741826 then ' Von "Revisionssicher" 'Elo.ObjFlags=1073741824 'Elo.UpdateObject() 'End if End function Function AufVers (flag) ' Änderung auf "Versionskontrolle" If flag=1073741824 then ' Von "Freie Bearbeitung" Elo.ObjFlags=1073741825 Elo.UpdateObject() End if If flag=1073741888 then ' von "Freie Bearbeitung / mit Volltext" Elo.ObjFlags=1073741889 Elo.UpdateObject() End if 'If flag=1073741826 then ' Von "Revisionssicher" 'Elo.ObjFlags=1073741825 'Elo.UpdateObject() 'End if End function Function AufRev (flag) ' Änderung auf "Revisionsicher" von allen Doku-Stati If flag=1073741824 or flag=1073741888 or flag=1073741825 or flag=1073741889 then Elo.ObjFlags=1073741826 Elo.UpdateObject() End if End function