Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 23.10.02 - 10:23:41

Titel: Frontenddoc : RemoveFromFolder ???
Beitrag von: Don Pasquale am 23.10.02 - 10:23:41
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
Für jeden Tipp dankbar


Don Pasquale



Titel: Re:Frontenddoc : RemoveFromFolder ???
Beitrag von: manuel am 23.10.02 - 14:01:15
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
Titel: Re:Frontenddoc : RemoveFromFolder ???
Beitrag von: Don Pasquale am 23.10.02 - 14:51:46
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
Titel: Re:Frontenddoc : RemoveFromFolder ???
Beitrag von: manuel am 23.10.02 - 14:58:28
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?
Titel: Re:Frontenddoc : RemoveFromFolder ???
Beitrag von: Don Pasquale am 23.10.02 - 15:03:27

Ja, Vielen Dank.

 :) :) :)


Ciao

Don Pasquale