Domino 9 und frühere Versionen > ND6: Entwicklung
Problem mit Datenübergabe
DAU-in:
--- Zitat von: bikerboy am 16.10.07 - 09:17:36 ---ein spiel mit dem feuer ich weiss, aber man muss ja nur einmal einen blick auf die deklaration werfen
--- Ende Zitat ---
Bei etwas verzwickteren Sachen ist der Blick auf die Deklaration nicht immer einfach - vor allem, wenn du mehrere Scriptlibrarys hast und dazu global definierte Variablen.
Andrew Harder:
Verstehe ich das richtig? Beim drücken auf einen Knopf in dem Dokument, soll ein anderes Dokument geöffnet werden und dabei ein Feldwert übertragen werden?
Ich habe mal gar keine Ahnung woher Du die ID des Dokumentes nimmst, aber das soll mal nicht hier das Hauptthema sein.
Versuche mal so etwas:
--- Code: ---Option Declare
Dim session As NotesSession
Dim dbCurrent As NotesDatabase
Sub Initialize
Set session = New NotesSession
Set dbCurrent = session.CurrentDatabase
End Sub
Sub Click(Source As Button)
'
On Error Goto ErrorHandler
'
Dim uiws As NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim docCurrent As NotesDocument
Dim docEdit As NotesDocument
Dim sDocUNID As String
'
Set uiws = New NotesUIWorkspace
Set uidoc = uiws.CurrentDocument
Set docCurrent = uidoc.Document
Let sDocUNID = "78E5B66BE7BA1B27C1257313002AE7EF" ' woher kommt die?
Set docEdit = dbCurrent.GetDocumentByUNID( sDocUNID )
Call docEdit.CopyItem( docCurrent.GetFirstItem( "avd_kont_art" ), "test" )
Call uiws.EditDocument( True, docEdit )
'
end_S:
Exit Sub
'
ErrorHandler:
Print "ERORR in line " + Cstr(Erl) + ": " + Error$(Err) + " (" + Cstr(Err) + ")"
Resume end_S
'
End Sub
--- Ende Code ---
frankie07:
Hallo zusammen,
vielen Dank für eure schnelle und kompetente Hilfe. Aber ich muss ganz ehrlich gestehen, dass mich das alles schon ein wenig verwirrt ???
Ich habe bis jetzt folgenden Code:
Sub Click(Source As Button)
Dim session As New notessession
Dim db As notesdatabase
Dim doc As notesdocument
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set db = session.currentdatabase
Set doc = db.getDocumentByUNID ("78E5B66BE7BA1B27C1257313002AE7EF")
Call ws.EditDocument(True, doc)
End Sub
Wenmn ich auf die Schaltfläche klicke, öffnet sich auch wunderbar das gewünschte Dokument. Jetzt will ich eben nur noch einen Wert in das gerade geöffnete Dokument übergeben.
pete_bla:
Hi,
also wie schon angedeutet fehlt Dir das 2. UIDokument, das Du nun neu öffnen willst.
Hast Du schonmal in der Desingerhilfe nachgesehen ? (immer informativ, im desinger einfach auf F1 drücken.)
Sieh mal unter "NotesUIDocument" "NotesUIWorkspace" nach!
Deines Lösels Rätzung ist:
--- Code: --- Dim uidoc As NotesUIDocument ' das Aktuell vorliegenden UIDokument für Quelle
' neu: ---->
Dim uidoc2 As NotesUIDocument ' zu öffnendes UIDokument für Ziel der Daten
set UIDoc = WS.CurrentDocument ' falls Du das nicht schon haben solltest
' <-----
Set db = session.currentdatabase
Set doc = db.getDocumentByUNID ("78E5B66BE7BA1B27C1257313002AE7EF")
' streichen: Call ws.EditDocument(True, doc)[/s]
' erstezen durch:
Set UIDoc2 = ws.EditDocument(True, doc)
' neu: ---->
If not UIDoc2.Editmode = TRUE then
Messagebox "Kann das Dokument nicht bearbeiten!"
Exit sub ' oder Function oder was du grade hast
End if
' frontend aus frontend variante:
Call UIDoc2.FieldSettext("Feld1", UIDoc.FieldGetText("Feld1") )
' oder: frontend aus backend variante:
Call UIDoc2.FieldSettext("Feld1", Doc.Feld1(0) )
' noch ein refresh:
Call UIDoc2.Refresh()
--- Ende Code ---
Du solltest Deine Daten in das neu geöffnete UIDokument schreiben, da dann auch auch die regulären Funktionen des Zieldokuments verwendet werde.
Eingabefehler, Falsche Felder... (ist hier gewollt!)
Falls Du noch Fragen hast, stell sie.
Grüsse, Pete(r)
PS. noch vermisse ich Deinen Link vom Domino-Forum hierher.
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln