Autor Thema: Übertrag/Aktualisierung von Daten in das öffentliche names.nsf  (Gelesen 1272 mal)

Offline snore

  • Aktives Mitglied
  • ***
  • Beiträge: 107
Hallo Forum,
sorry - aber ich komm hier nicht weiter, und gebe auch ehrlich zu, dass hierzu meine Scriptkenntnisse zu mau' sind ! Das Script an sich, habe mal zufällig gefunden....

Ausgangslage:
Die angehängte Scriptbibliothek, wird über einen Agenten aus einer internen Mitarbeiter und Telefondaten-DB manuell über einen Agenten gestartet. Im Dialogfeld (siehe JPG), muss ich aktuell leider jeden User manuell markieren .... für welchen dann das weitere Script die Telefonnummer etc. in unser öffentliches names.nsf überträgt. Insgesamt ist die Lösung echt klasse .. somit muss ich im names.nsf keine "persönlichen Daten" im Reiter Büro/Privat der User pflegen!
Was mich nervt ist, dass ich keine Möglichkeit finde - einfach ALLE User - ohne manuelle Markierung in der geöffneten Teilmaske zu übertragen. Die Teilmaske (DIAExportMitarbeiterNAB) hat hier ein Listenfeld (TEMP_Personen) in einem Layoutbereich ...

Deshalb folgende Fragen (besser Wünsche):
1) Wir kann ich ohne manuelle Auswahl der User in der DialogBox .. den Abgleich einfach für alle aufgelisteten Benutzer laufen lassen..
2) Lieber wäre mir, wenn ich den Agenten - völlig losgelöst von der Dialgbox - regelmäßig automatisiert für alle User der Ansicht (Bild) laufen lassen könnte!

Vielen DANK an Alle, welche hier etwas basteln wollen ..... und bitte keine blöden Kommentare!
Gruß
snore


Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Der Kern steckt hier

personen_VAR = doc_dummy.TEMP_Personen

Du musst mal schauen, in welchem Format die Personen in der Dialogbox aufgeführt sind (Liste von Usernamen, Personalnummern o.ä.).

Dann kommentierst Du die Dialogbox aus und füllst personen_VAR mit einer Liste aller Personen, die Du zuvor z.B. über eine NotesDocumentCollection geholt hast. Sinngemäß so

Code
Dim col As NotesDocumentCollection
Set col = db.Search (|Selektionsformel für alle Mitarbeiterdokumente der DB|, Nothing, 0)
Dim doc As NotesDocument
Dim i As Integer
If col.Count > 0 Then
   Redim personen_VAR (col.Count - 1)
   Set doc = col.GetFirstDocument
   Do While Not doc Is Nothing
      personen_Var (i) = doc.RelevanterFeldnameDesMitarbeiterdokuments (0)
      i = i + 1
      Set doc = col.GetNextDocument (doc)
   Loop
End If

Natürlich kann man das auch eleganter angehen, ich habe versucht eine Lösung darzustellen, die möglichst wenige Veränderungen am vorhandenen Script benötigt.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz