AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
22.05.12 - 11:43:41
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Domino 5 und frühere Versionen
| |-+  Entwicklung (Moderatoren: Axel, Don Pasquale, eknori, Hoshee, ata, Thomas Schulte, koehlerbv)
| | |-+  $UpdatedBy letzter Bearbeiter außer bestimmter
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: $UpdatedBy letzter Bearbeiter außer bestimmter  (Gelesen 687 mal)
MrMagoo
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 359


AAAhhh


« 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.  Huh
Kann mir jemand helfen, danke
Gespeichert
Markus Henke
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 143



« Antworten #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)
.....
Gespeichert
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 19044



« Antworten #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
Gespeichert
Markus Henke
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 143



« Antworten #3 am: 15.10.03 - 13:24:20 »

Da hast Du allerdings recht.  Wink
Gespeichert
MrMagoo
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 359


AAAhhh


« Antworten #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 » Gespeichert
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 19044



« Antworten #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
Gespeichert
MrMagoo
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 359


AAAhhh


« Antworten #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.
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: Tinte / Toner günstig