Autor Thema: Dokument kopieren, Bearbeiten, Original ersetzen  (Gelesen 1261 mal)

Offline Nick

  • Frischling
  • *
  • Beiträge: 8
Dokument kopieren, Bearbeiten, Original ersetzen
« am: 10.07.03 - 11:30:00 »
Hallo Zusammen,

help! Folgende Herausforderung:
In einer Dokumentdatenbank existiert ein Dokument, für alle Benutzer lesbar. (Feld-Status: Veröffentlicht)

Über einen Button "Bearbeiten" soll ein Editor eine Kopie von diesem Dokument erstellen. (Feld-Status: In Bearbeitung). Dokumente im Status "In Bearbeitung" sind nur für Editoren sichtbar. Nach Bearbeiten dieses Dokuments soll der Editor dieses Dokument über einen Button "Veröffentlichen" wieder der Allgemeinheit zugänglich machen(Status:Veröffentlicht). Das Original-Dokument soll dann durch diese Kopie ersetzt werden.

Gibt es eine Möglichkeit dieses Problem (Kopieren, Ersetzen) über @Formeln zu lösen, oder kann mir jemand mit Script weiterhelfen?

Vielen Tausend Dank!
Eure Nick
Imagine all the people Living life in peace,...

Glombi

  • Gast
Re:Dokument kopieren, Bearbeiten, Original ersetzen
« Antwort #1 am: 10.07.03 - 13:41:59 »
Hi Nick,
für sowas nehme ich immer Script. Die Formelsprache ist da nen bisschen holprig.

Formel um neues Dokument zu erstellen
dim session as NotesSession
dim db as NotesDatabase
dim dc as NotesDocumentCollection
dim doc as NotesDocument
dim newdoc as NotesDocument

set session = New NotesSession
set db = session.CurrentDatabase
set dc = db.UnprocessedDocuments   'alle gewählten Dokumente
if dc.Count = 0 then exit sub

set doc = dc.GetFirstDocument
while not( doc is nothing )

'Erstelle neue Kopie
set newdoc = doc.CopyToDatabase(db)

'Setze Bearbeitungsrecht
newdoc.Editors = session.Username   'setze Autorenfeld
newdoc.Readers = session.Username  'setze Lesefeld

'setze Status
newdoc.Status = "In Bearbeitung"

'Setze Feld mit DocID des ursprünglichen Dokuments
newdoc.InheritedDocID = doc.UniversalID

call newdoc.Save( True, True, True )

set doc = dc.GetNextDocument(doc)
wend




Glombi

  • Gast
Re:Dokument kopieren, Bearbeiten, Original ersetzen
« Antwort #2 am: 10.07.03 - 13:46:04 »
Hier dann der Code für den Veröffentlichen Button

auch wieder per Agent (für gewählte Dokumente)

dim session as NotesSession
dim db as NotesDatabase
dim dc as NotesDocumentCollection
dim doc as NotesDocument
dim olddoc as NotesDocument

set session = New NotesSession
set db = session.CurrentDatabase
set dc = db.UnprocessedDocuments  'alle gewählten Dokumente
if dc.Count = 0 then exit sub

set doc = dc.GetFirstDocument
while not( doc is nothing )

'Setze Leserecht für alle
doc.Readers = ""

'setze Status
doc.Status = "Veröffentlicht"

'Speichere Dokument
call doc.Save( True, True, True )

'Lösche altes Dokument
set olddoc = db.GetDocumentByUNID( doc.InheritedDocID(0) )
if not olddoc is nothing then
call olddoc.Remove( true )
end if

set doc = dc.GetNextDocument(doc)
wend

Glombi

  • Gast
Re:Dokument kopieren, Bearbeiten, Original ersetzen
« Antwort #3 am: 10.07.03 - 13:47:02 »
P.S: Du musst die Feldnamen für Editors bzw. Readers natürlich durch Deine Feldnamen ersetzen.

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz