Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: suhle am 12.12.03 - 08:02:29
-
Guten Morgen,
folgendes Problem.
Notes - DB, ganz normale Ansicht mit Dokumenten, der Cursor steht auf einem Dokument (nicht markiert).
Wenn man jetzt auf die Schaltfläche neues Dokument geht, wie kann man dann aus dem Dokument, auf dem der Cursor stand, Inhalt von Feldwerten übernehmen (am besten per Script) oder muss dazu da Dokument markiert sein?
Vielen Dank!
Gruss
S.
???
-
Geht das?
über unprocessed documents solltest Du das Dokument um das das Rechteck ist bekommen (solange nichts ausgewählt ist).
über getprevdocument in der View kämst Du dann auf das vorherige Dokument.
-
Marco hat recht:
Nimm notesDatabase.UnprocessedDocuments
Damit bekommst Du eine NotesDocumentCollection, die das Dokument enthält.
Es reicht, wenn das Dokument hervorgehoben ist. Es muss nicht explizit angehakt sein.
Andreas
-
Hi,
am einfachsten ist die Übernahme von Feldwerten, wenn in der Maske der entsprechende Flag "Formeln übernehmen Werte aus gewähltem Dokument" aktiviert ist.
Die Felder müssen dann als Vorgabewert den Feldnamen haben.
-
Erstmal Danke für den Tip mit der collection.
nur so ganz funzt das nicht.
die collection ist leer.
Ich habe mal das script mit reingelegt, vielleicht hab ich ja auch nur eine tomate auf dem auge.
vielen dank
s.
Sub Click(Source As Button)
Dim ws As New notesuiworkspace
Dim s As New notessession
Dim db As notesdatabase
Dim coll As notesdocumentcollection
Dim doc As notesdocument
Dim new_doc As notesuidocument
'Setzen der DB
Set db = s.currentdatabase
'setzen der collection
Set coll = db.unprocesseddocuments
'Aktuelles Dokument
Set doc = coll.getprevdocument (doc )
'erstellen des neuen Documentes im Frontend
Set new_doc = ws.composedocument("","","Person")
'Vorbelegen der Felder
Call new_doc.fieldsettext("CompanyName", doc.companyname)
Call new_doc.fieldsettext("Website", doc.Website)
Call new_doc.fieldsettext("nbnr", doc.nbnr)
Call new_doc.fieldsettext("OfficeStreeetAddress", doc.OfficeStreetAddress)
Call new_doc.fieldsettext("OfficeZip", doc.OfficeZip)
Call new_doc.fieldsettext("OfficeCity", doc.OfficeCity)
Call new_doc.fieldsettext("OfficeCountry", doc.OfficeCountry)
Call new_doc.fieldsettext("OfficePFZip", doc.OfficePF)
'Aktualisieren und Speichern
Call new_doc.reload
Call new_doc.save
'Jetzt kann der User den Rest eingeben
End Sub
::)
-
Ist wirklich die Collection leer oder bekommst Du nur kein doc ?
Wenn Du nur ein Dokument markiert hast, würde ich das Doc lieber so holen :
set doc = coll.GetFirstDocument
Das Problem ist, daß doc erstmal leer ist und wenn Du mit GetPrevDocument arbeitest, gibt es kein Dokument davor.
D.h. Set doc = coll.GetPrevDocument(doc) müßte Nothing liefern.
-
ohhhh, sorry, in der collection istn ja genau das eine doc, ok das war die eine tomate.
die andere ist, wie kann ich den inhalt der items aus dem doc in das uidoc schicken, mit dem fieldsettext geht ja nur der doc.Website(0), aber nicht das item.
schon mal dank für alles.
gruss
s.
-
Das sollte mit der CopyItem-Methode gehen.