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
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
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
Hallo Zusammen,
ist ja schön, dass das ganze für euch ein Klacks ist.
Ich habe erst einmal klauss's Vorschlag in die Tat umgesetzt:
Sieh mal in der Designer-Hilfe nach unter den Stichworten "Felder übernehmen Werte..."
Ich glaube ich habe eine andere Designerhilfe wie du. Bei mir ist unter diesen Stichworten kein Eintrag vorhanden.
Es gibt zwar ganz bestimmt Beispiele wie man Feldwerten ausliest. Aber nicht in Kombination mit Zwei verschiedenen Dokumenten.
er schrieb weiter:
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.
Ich werde nach diesem Projekt oder was noch viel angenehmer ist, nachdem ich diesen oben-geposteten code vollständig korrigiert habe, nie wieder etwas mit LS zu tun haben. Aber danke für den Tipp.
Wie gesagt, ich will nur die Sache zum laufen bringen und dann ist das Thema auch gegessen.
Ferner habe ich auch keinen blassen Schimmer was mit den Schlag(michtot)worten Backend und Fronted gemeint ist. :-:
Diese Ansätze habt ihr mir gegeben:
- Option Declare hinzufügen
- Dim doc As NotesDocument hinzufügen
- Backend nach Werteübergabe speichern
- newdoc muss uidoc zugewießen werden
Ich habe den gestrigen Abend bis 22.00Uhr geopfert, habe die ganze Zeit versucht diese lösungsansätze in die richtige Reihenfolge zu bekommen. Aber meine Bemühungen wurde nicht belohnt. Ich habe nur3-4 verschiedene Fehlermeldungen erhalten. Versteht mich nicht falsch, ich bin kein hirnloser-Bastler; ich gucke schon in der Designer-Hilfe nach, aber ich habs trotzdem nicht hinbekommen. -Ich glaube ich bin zu doof für LS.
Tut mir wirklich Leid aber ich brauche wohl noch mehr Informationen von euch. Für euch ist die Sache zwar fundamental, aber ich bin am Ende meiner Nerven.
Deshalb bitte ich euch inständig, mir zu helfen und ich lasse euch zu 100% mit LS-Probs in Ruhe!!!
Tut mir wirklich Leid, aber ich habe so etwas von keine Ahnung wenn es um Notesscript-Syntax geht. Ich habe den oben geposteten code nur mal auf gut glück zusammengeschustert do(, ausprobiert, geändert, ausprobiert, geändert) while (verzweifeln, letzte chance bei atnotes sehen, freund hat euch in höchsten tönen gelobt.)
Ich hoffe jm. erhöht meine Schreie...
Hochachtungsvoll
Ausgustus
So sollte es funktionieren:
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim newdoc As NotesDocument
On Error Goto ErrHandler
Set db = session.CurrentDatabase
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
Set newdoc = New NotesDocument( db )
newdoc.Form = "Usermaske"
newdoc.projectnumber = doc.projectnumber
Call newdoc.ComputeWithForm(False, True)
Set uidoc = workspace.EidtDocument (True, newdoc )
Exit Sub
ErrHandler:
Messagebox "Es ist ein Fehler aufgetreten." & Chr$(13) & _
"Fehler-Nr.: " & Str(Err) & " : " & Error$ & " in Zeile " & Str(Erl), 16, "Fehler"
End Sub
Axel
Zitat von Axel:
So sollte es funktionieren
und so hat das auch funktioniert.
Vielen Dank, besonders an Axel.
Ihr habt mir wirklich sehr viel weiter geholfen, ich bin Überglücklich.
So glücklich wie ich gestern noch verzweifelt war.
DIESES BOARD IST WUNDERBAR!!!
Hochachtungsvoll
Augustus