Domino 9 und frühere Versionen > ND7: Entwicklung

[Notesscript] Neues Dokument erstellen, Werte übernehmen

(1/2) > >>

augustus:
Einleitung:

Hallo Zusammen,

ich will etwas mit Notessript machen. Ich habe leider keine Ahnung von dieser Thematik.
Aus diesem Grund "belästige" ich euch mit meinen Belangen.

Ich hoffe ihr könnt mir helfen, ich habe meinen halben Nachmittag mit diesem Problem vergeudet.  :-\



Problembeschreibung:

Manager können Managerdokumente erstellen.
Wenn ein Managerdokument erstellt wird. So soll automatisch ein neues Userdokument erstellt werden.

Der Inhalt des Feldes "projectnumber"soll aus dem Managerdokument in das Feld des Userdokuments, (das ebenfalls "projectnumber" heißt,) kopiert werden.

Das Managerdokument ist deklariert mit: doc
Das Userdokument ist deklariert mit: uidoc bzw. newdoc


--- Code: ---Sub Click(Source As Button)

Dim workspace As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument



Set db = session.CurrentDatabase
Set doc = workspace.CurrentDocument 
Set uidoc = workspace.ComposeDocument _
( "", "", "Usermaske" )
Set newdoc = New NotesDocument( db )


newdoc.projectnumber = doc.FieldGetText( "projectnumber" )


End Sub
--- Ende Code ---


Was passiert beim Klick auf den Button:

Es wird ein neues Userdokument geöffnet. Jedoch wird der Inhalt des Textes "projectnumber" aus dem Managerdokument nicht übernommen.

Selbst wenn ich newdoc.projectnumber eine feste Zahl zuweiße, wird diese nicht in das Feld geschrieben.






Ich hoffe ihr könnt mir helfen,

Hochachtungsvoll

Augustus Van Dusen

klaussal:
Sieh mal in der Designer-Hilfe nach unter den Stichworten "Felder übernehmen Werte..."


--- Zitat ---Ich habe leider keine Ahnung von dieser Thematik.
--- Ende Zitat ---
Dann solltest Du dir mal ein Buch besorgen oder einen Lehrgang buchen.
"learning-by-doing" ist zwar ganz nett, aber das hilft bei LS nur bedingt.

Driri:
Vielleicht als Erklärung, warum das nicht funktioniert :


--- Zitat ---Set uidoc = workspace.ComposeDocument ( "", "", "Usermaske" )

--- Ende Zitat ---

Hier legst Du ein neues Dokument im Frontend an. Dieses wird auch angezeigt.


--- Zitat ---Set newdoc = New NotesDocument( db )
newdoc.projectnumber = doc.FieldGetText( "projectnumber" )

--- Ende Zitat ---

Hier erstellst Du ein neues Dokument im Backend und weist in diesem Dokument den gewünschten Wert zu.

Aaaaber :

a) newdoc != uidoc, da gibt es keinerlei Verbindung, das sind zwei verschiedene Dokumente

b) Wenn Du ein Dokument im Backend erzeugst und dort Werte setzt, mußt Du auch Speichern.

c) Selbst wenn newdoc=uidoc wäre - Änderungen im Backend werden nicht automatisch im Frontend angezeigt.

d) Für solche recht simplen Angelegenheiten braucht man wirklich kein Script. Da hilft Klaus Hinweis viel einfacher weiter.

ata:
... korrekterweise fehlt auch das Dim doc As NotesDocument

Toni

koehlerbv:
... ergo fehlt auch Option Declare.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln