Domino 9 und frühere Versionen > ND9: Entwicklung

Dokumente in Ansicht öffnen und speichern

(1/2) > >>

Kaljamam:
Hallo zusammen,

habe in einer Ansicht mehrere Dokumente. Ich würde gerne einen Agenten schreiben, der alle ausgewählten Dokumente öffnet und speichert. Mit dem Agent kann ich ein Feld aktualisieren. Ich möchte aber nur das Dokument öffnen und speichern. An der Stelle ????????????????????? aktualisiere ich mein Feld doc.ibb_aktualisierer = "Wert", hier möchte ich jetzt aber das Dokument nur öffnen und nicht das Feld aktualisieren.

Option Public
Option Declare

Sub Initialize
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   Set doc = collection.GetFirstDocument()
   While Not (doc Is Nothing)
      ?????????????????????
      Call doc.Save( False, True )
      Set doc = collection.GetNextDocument( doc)
   Wend
   
End Sub

Peter Klett:
Soll das Dokument wirklich geöffnet werden? Also sichtbar im Client?

Wieviele Dokumente?
Warum?

Wenn es nicht wirklich einen zwingenden Grund gibt, würde ich das automatisierte Öffnen - Speichern - Schließen umgehen.

Kaljamam:
Der Hintergrund ist folgender:
Über einen DBLookUp

_tempUser := Vorname + " " + Name;
@If(_tempUser = ""; ""; _tempMailDB := @DbLookup("":"NoCache";"xxxxxxx":"cosmos/bim/stellenb.nsf";"Stelleninhaber";_tempUser; 2))

hole ich mir die DokumentenID von Stellenbeschreibungen der Mitarbeiter in die Mitarbeiterdatenbank, um diese dem Mitarbeiter zuzuweisen.

Mein Problem, und da hab ich ein sensationelles Brett vor dem Kopf, das berechnete Textfeld(wird über einen Transferagent aktualisiert), enthält zwar dann den korrekten Wert, aber erst wenn ich das Mitarbeiterdokument am Client öffne und speichere ist das Feld auch verfügbar.

Daher wollte ich mir einen Agenten basteln, der automatisch alle Dokumente öffnet und speichert, damit ich nicht alle Mitarbeiterdokumente manuell aufmachen und speichern muss.  :-[

Peter Klett:
Die richtige Vorgehensweise für solche Fälle ist, die Berechnungen im Script nachzubauen und das Ergebnis in die Dokumente zu schreiben, ohne sie zu öffnen.

Wenn das Feld so berechnet ist, wie die Formel vermuten lässt, hilft auch ein Formelagent mit @Command ([ToolsRefreshSelectedDocs])

Kaljamam:
Vielen Dank! Das war genau das, was ich gesucht habe!  :)

DBLookUp sollte auch korrekter Weise so aussehen.

tempUser := Vorname + " " + Name;
@If(@IsError(@DbLookup("":"NoCache";"xxxxxxxxx":"cosmos/bim/stellenb.nsf";"Stelleninhaber";_tempUser; 2 )); _tempMailDB := ""; _tempMailDB := @DbLookup("":"NoCache";"xxxxxxx":"cosmos/bim/stellenb.nsf";"Stelleninhaber";_tempUser; 2));

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln