Autor Thema: [Notesscript] Neues Dokument erstellen, Werte übernehmen  (Gelesen 2875 mal)

Offline augustus

  • Frischling
  • *
  • Beiträge: 11
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


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

  • Gast
Re: [Notesscript] Neues Dokument erstellen, Werte übernehmen
« Antwort #1 am: 29.03.07 - 16:17:17 »
Sieh mal in der Designer-Hilfe nach unter den Stichworten "Felder übernehmen Werte..."

Zitat
Ich habe leider keine Ahnung von dieser Thematik.
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.
« Letzte Änderung: 29.03.07 - 16:21:47 von klauss »

Driri

  • Gast
Re: [Notesscript] Neues Dokument erstellen, Werte übernehmen
« Antwort #2 am: 29.03.07 - 16:23:59 »
Vielleicht als Erklärung, warum das nicht funktioniert :

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

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

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

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.

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: [Notesscript] Neues Dokument erstellen, Werte übernehmen
« Antwort #3 am: 29.03.07 - 16:37:16 »
... korrekterweise fehlt auch das Dim doc As NotesDocument

Toni
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: [Notesscript] Neues Dokument erstellen, Werte übernehmen
« Antwort #4 am: 29.03.07 - 16:47:53 »
... ergo fehlt auch Option Declare.

Bernhard

Offline augustus

  • Frischling
  • *
  • Beiträge: 11
Re: [Notesscript] Neues Dokument erstellen, Werte übernehmen
« Antwort #5 am: 30.03.07 - 07:56:43 »
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:

Zitat
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:

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.

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
Code
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

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: [Notesscript] Neues Dokument erstellen, Werte übernehmen
« Antwort #6 am: 30.03.07 - 08:23:49 »
So sollte es funktionieren:

Code
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
Ohne Computer wären wir noch lange nicht hinterm Mond!

Driri

  • Gast
Re: [Notesscript] Neues Dokument erstellen, Werte übernehmen
« Antwort #7 am: 30.03.07 - 08:27:40 »
@Axel : Das ist IMO aber mit Kanonen auf Spatzen schießen. Wenn ich aus einem Dokument heraus ein zweites erzeuge, kann ich doch direkt mit der Werteübernahme der Felder in der Maske arbeiten.

@Augustus :

Gib mal in der Suche der Designer-Hilfe "Wert AND Feld" ein. Bei mir ist der zweite Treffer ein Dokument mit Titel "Felder erstellen, die Werte übernehmen". Da ist das Prozedere beschrieben und Du brauchst dafür wirklich keine Zeile Script-Code.

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: [Notesscript] Neues Dokument erstellen, Werte übernehmen
« Antwort #8 am: 30.03.07 - 08:34:49 »
@Axel : Das ist IMO aber mit Kanonen auf Spatzen schießen. Wenn ich aus einem Dokument heraus ein zweites erzeuge, kann ich doch direkt mit der Werteübernahme der Felder in der Maske arbeiten.

Yoo, aber ich habe die Erfahrung gemacht, dass das nicht immer ganz sauber funktioniert. Da nehme ich lieber die Kanonen in kauf.  ;)


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline augustus

  • Frischling
  • *
  • Beiträge: 11
Re: [Notesscript] Neues Dokument erstellen, Werte übernehmen
« Antwort #9 am: 30.03.07 - 10:20:34 »
Zitat von Axel:

Code
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


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz