Domino 9 und frühere Versionen > ND8: Entwicklung
Felder aus dem gerade angezeigten Dokument in ein neues kopieren....
Scotty67:
--- Zitat von: koehlerbv am 27.04.11 - 09:48:18 ---Das ist aber ein nicht ganz sicheres Verfahren (falls Du mal später den Code ergänzt in Bezug auf doc).
Ich würde den Zeitwert explizit in newdoc setzen - und nicht so ein G'schiss mit NotesDateTime veranstalten:
Call doc.CopyAllItems (newdoc)
newdoc.DocCreationDate = Now
Call workspace.EditDocument (True, newdoc)
HTH,
Bernhard
--- Ende Zitat ---
danke bernhard ! :-)
darf ich da noch eine frage anknüpfen, wenn ich ein Feld habe (Type= NAMES)...wie kann ich vom gerade agierenden Benutzer den
Name in dieses Feld schreiben, also z.B. ich öffne ein Dokument das ich nicht erstellt habe und ich stehe diesem Feld "DocAuthor" nicht
drinnen, da ich der doc-kopierende bin brauche ich im neuen Dokument meinen Namen
Wie setze ich den Wert dieses Felds ?
koehlerbv:
newdoc.DocAuthor = NotesSession.UserName
Peter Klett:
Mit allen Feldern, die berechnet beim Anlegen und vom aktuellen Kontext (also z.B. User und Datum) abhängig sind, kannst Du ganz einfach umgehen, indem Du sie vor dem Öffnen löschst.
Call doc.CopyAllItems (newdoc)
Call newdoc.RemoveItem ("DocCreationDate")
Call newdoc.RemoveItem ("DocAuthors")
Call workspace.EditDocument (True, newdoc)
Die Felder werden dann beim Öffnen neu gerechnet, da sie ja nicht existieren. Größter Vorteil dieser Methode ist, dass die Gestaltung der Felder an einer Stelle (hier dem Vorgabewert in der Maske) verbleibt. Wenn sich da in Zukunft mal was dran ändert, denkt niemand an die Änderung des Scriptes.
Scotty67:
Ich sag ganz HERZLICHEN DANK - Ihr habt mir super weitergeholfen ! :-))) DANKE
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln