Autor Thema: Dokumente in Ansicht öffnen und speichern  (Gelesen 3266 mal)

Offline Kaljamam

  • Aktives Mitglied
  • ***
  • Beiträge: 234
  • Geschlecht: Männlich
Dokumente in Ansicht öffnen und speichern
« am: 26.07.17 - 10:24:13 »
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

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Dokumente in Ansicht öffnen und speichern
« Antwort #1 am: 26.07.17 - 10:30:12 »
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.

Offline Kaljamam

  • Aktives Mitglied
  • ***
  • Beiträge: 234
  • Geschlecht: Männlich
Re: Dokumente in Ansicht öffnen und speichern
« Antwort #2 am: 26.07.17 - 10:52:11 »
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.  :-[

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Dokumente in Ansicht öffnen und speichern
« Antwort #3 am: 26.07.17 - 11:26:39 »
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])

Offline Kaljamam

  • Aktives Mitglied
  • ***
  • Beiträge: 234
  • Geschlecht: Männlich
Re: Dokumente in Ansicht öffnen und speichern
« Antwort #4 am: 27.07.17 - 08:41:43 »
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));


Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Dokumente in Ansicht öffnen und speichern
« Antwort #5 am: 27.07.17 - 09:05:46 »
An dieser Stelle ist Performance vielleicht nicht so wichtig, aber Du kannst Dir ein DBLookup sparen

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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz