Domino 9 und frühere Versionen > Entwicklung
Frontenddoc : RemoveFromFolder ???
(1/1)
Don Pasquale:
Hallo Leute,
ich habe im Frontend, welche mit einem Flag "Löschen" markiert werden soll und dann in einen anderen Folder geschoben werden soll.
Folgendes scheint zu funktionieren, aber es dauert ziemlich lange ( 1 sec.)
Gibt es etwas was ich weglassen könnte ?
--- Code: --- Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set ws = New NotesUiWorkspace
Dim doc As NotesDocument
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim user As String
user = session.UserName
If doc.e4fldInitiator(0) = User Then
Set uidoc = ws.EditDocument( True )
Call uidoc.FieldSetText("e4fldGeloescht","True")
' Call uidoc.FieldSetText("e4fldGeloeschtAm", notesinternational.Today)
Call uidoc.save
Set uidoc = ws.EditDocument( False )
Call uidoc.close
Call doc.RemoveFromFolder("Eigene Dokumente")
Else
Messagebox "Sie können nur eigene Dokumente löschen"
End If
--- Ende Code ---
Für jeden Tipp dankbar
Don Pasquale
manuel:
Hi Paquale
Die dritte Zeile kannst du weglassen. Der Workspace wurde bereits in der ersten Zeile initialisiert. Des weiteren kannst du versuchen das ganze ins Backend zu verlagern, dann brauchst du keinen Bearbeitungsmodus setzen (abgesehen davon wäre es gscheiter man setzt den Bearbeitungsmodus nicht mit Set uidoc = ws.EditDocument( True ) sondern mit uidoc.EditMode = True). Das würde dann so aussehen:
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim user As String
user = session.UserName
If doc.e4fldInitiator(0) = User Then
Call uidoc.close
doc.e4fldGeloescht = "True
Call doc.Save(True, True)
Call doc.RemoveFromFolder("Eigene Dokumente")
Else
Messagebox "Sie können nur eigene Dokumente löschen"
End If
Ich hoffe das hilft dir weiter, probiers einfach mal.
Manuel
Don Pasquale:
Hallo Manuel,
danke für Deine Tipps.
Bist Du sicher, dass ich das Backenddoc nicht auch in einen Edit Modus versetzen muß.
Bei mir werden die werte partout nicht ins Document geschrieben.
Ciao Don Pasquale
--- Code: --- Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim user As String
user = session.UserName
If doc.e4fldInitiator(0) = User Then
Call uidoc.close
Call doc.ReplaceItemValue("e4fldGeloescht","True")
doc.e4fldGeloeschtAm = Today
Call doc.Save(True, True)
Call doc.RemoveFromFolder("Eigene Dokumente")
Else
Messagebox "Sie können nur eigene Dokumente löschen"
End If
Call ws.ViewRefresh
--- Ende Code ---
manuel:
Ok, dann versuch's doch lieber im Frontend, aber verwende diesmal die andere Möglichkeit den Modus zu wechseln
....
uidoc.EditMode = True
Call uidoc.FieldSetText("e4fldGeloescht","True")
' Call uidoc.FieldSetText("e4fldGeloeschtAm", notesinternational.Today)
Call uidoc.save
Call uidoc.close
Call doc.RemoveFromFolder("Eigene Dokumente")
....
Und klappt's? Ist es schneller als zuerst?
Don Pasquale:
Ja, Vielen Dank.
:) :) :)
Ciao
Don Pasquale
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln