Autor Thema: $UpdatedBy letzter Bearbeiter außer bestimmter  (Gelesen 4004 mal)

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
$UpdatedBy letzter Bearbeiter außer bestimmter
« am: 15.10.03 - 11:31:28 »
Hallo zusammen,
folgendes Problem: Ich lese mit folgendem Agenten den ersteller des Dokumentes aus

Sub Initialize
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim subj As Variant
   
   Set db = session.CurrentDatabase
   Set collection = db.unprocessedDocuments
   Set doc = collection.GetFirstDocument
   While Not (doc Is Nothing)
      subj = doc.GetItemValue("$UpdatedBy")
      Messagebox( subj( 0 ) )
      Set doc = collection.GetNextDocument(doc)
   Wend
End Sub

Jetzt möchte ich aber den letzten Bearbeiter haben, außer es war ein bestimmter z.B. der Server.  ???
Kann mir jemand helfen, danke

Offline Markus Henke

  • Aktives Mitglied
  • ***
  • Beiträge: 143
  • Geschlecht: Männlich
Re:$UpdatedBy letzter Bearbeiter außer bestimmter
« Antwort #1 am: 15.10.03 - 11:46:01 »
Hallo zusammen,
folgendes Problem: Ich lese mit folgendem Agenten den ersteller des Dokumentes aus

Sub Initialize
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim subj As Variant
   
   Set db = session.CurrentDatabase
   Set collection = db.unprocessedDocuments
   Set doc = collection.GetFirstDocument
   While Not (doc Is Nothing)
      subj = doc.GetItemValue("$UpdatedBy")
      Messagebox( subj( 0 ) )
      Set doc = collection.GetNextDocument(doc)
   Wend
End Sub

Versuch mal folgendes:

.....
subj = doc.GetItemValue("$UpdatedBy")
Forall s In subj
If s <> server Then
msgBox(s)
End If
End Forall
Set doc = collection.GetNextDocument(doc)
.....

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:$UpdatedBy letzter Bearbeiter außer bestimmter
« Antwort #2 am: 15.10.03 - 11:53:19 »
Das kommt aber wieder auf's selbe 'raus wie der erste Code.

Die Schleife muß rückwärts durchlaufen werden und beim ersten Auftreten eines Nicht-Servers verlassen werden, also ein
For iLoop = ubound (<UpdatedBy-Array>) to 0 step - 1

Und der / die Servernamen müssen bekannt sein oder einem eindeutigen Schema entsprechen.

HTH,
Bernhard

Offline Markus Henke

  • Aktives Mitglied
  • ***
  • Beiträge: 143
  • Geschlecht: Männlich
Re:$UpdatedBy letzter Bearbeiter außer bestimmter
« Antwort #3 am: 15.10.03 - 13:24:20 »
Da hast Du allerdings recht.  ;)

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Re:$UpdatedBy letzter Bearbeiter außer bestimmter
« Antwort #4 am: 15.10.03 - 13:47:56 »
Also ich weiss nun zwar nicht warum, aber so macht er  es richtig

While Not (doc Is Nothing)
      subj = doc.GetItemValue("$UpdatedBy")
      Forall s In subj
         If s <> "server1" Then
            Set item = doc.ReplaceItemValue( "anzeige", s)
            Call doc.Save( True, True )
         End If
      End Forall
« Letzte Änderung: 15.10.03 - 13:52:07 von MrMagoo »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:$UpdatedBy letzter Bearbeiter außer bestimmter
« Antwort #5 am: 15.10.03 - 13:54:27 »
Das ist nicht gut, wenn man nicht weiß, warum ...

Dein Code ist die primitive Vorschlaghammermethode - Du liest einfach alle Bearbeiternamen und speicherst jedesmal das ganze Dokument.
Und bei jedem Speichern wird $UpdatedBy und $Revisions wieder verändert ...

Eine alternative wäre auch das Speichern des letzten menschlichen Bearbeiters in QuerySave - das führen Server bekanntlich niemals aus.

Bernhard

Offline MrMagoo

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
  • AAAhhh
Re:$UpdatedBy letzter Bearbeiter außer bestimmter
« Antwort #6 am: 15.10.03 - 14:00:00 »
ja genau, hast Du mir schon einmal vorgeschlagen und habe ich jetzt auch für die Zukunft so eingestellt. Wollte halt alle Dokumente wieder ohne server anzeigen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz