Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: fiuman007 am 26.07.04 - 08:43:56

Titel: Werte übernehmen(kopieren)
Beitrag von: fiuman007 am 26.07.04 - 08:43:56
Hallo Leute,
folgende Sache:
ich habe eine Tabelle mit mehreren Zeilen und Spalten.
In einer Zeile sind mehrere Felder und 3 Hot-Spot Velinkungen.
1. Hotspot: Anfragen
2. Hotspot: Bestellen
3. Hotspot: Arbeitsplan

Also ich will dass wenn ich auf diese Hotspots klicke, mir die Werte von der aktuellen Zeile, auf die neue (Hotspot) Verlinkte Maske/Form
kopiert oder einfach angezeigt werden.

Geht so was überhaupt?

Vielen Dank  
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: Axel am 26.07.04 - 08:58:37
Hi,

du musst in den Masken jeweils die Eigenschaft "Formeln übernehmen Werte aus gewähltem Dokument" setzen. Außerdem muss in den entsprechenden Feldern der Vorgabewert gesetzt sein. Dort kommt der Feldname rein, von welchem der Wert übernommen werden soll.


Axel
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: fiuman007 am 26.07.04 - 09:17:47
Hi Axel,

die Eigenschaft "Formulas inherit values from selected document" ist schon ausgewählt.
Default Value ist auch als Feldname, aus dem der Wert übertragen werden sollte., definiert.
Wenn ich aus einer Ansicht irgendwelchen Eintrag markiere/aufmache dann funktioniert die Wertübernahme auf die andere Maske.

Nur, bei mir ist das Problem dass ich mehrere Zeilen habe. 20 Artikel insgesamt. Und in jeder Zeile sind 5 Felder und 3 Hotspots-Links.
Die Hotspotfelder verweisen/verlinken auf 3 andere Masken.
Und in die wird beim Aufruf,  nicht der Wert reingeschrieben.  

Also ich denke dass man bei den Hotspot-Eigenschaften das irgendwie reinschreiben muss dass die  übernommen werden sollten. Weil so macht er immer eine blanke Seite auf .......

 ::)
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: Axel am 26.07.04 - 09:52:23
Hi,

eine Hotspot - Eigenschaft, die die Werteübergabe regelt gibt es meines Wissens auch unter Version 6 nicht. Dann wird dir nicht anderes übrigbleiben, als das per Formel oder Script auszuprogrammieren.


Axel
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: fiuman007 am 26.07.04 - 09:54:51
Uiiii,

weiss du vielleicht wie das ungefähr gehen könnte ? ::)

Titel: Re:Werte übernehmen(kopieren)
Beitrag von: Axel am 26.07.04 - 10:39:57
Hi,

so z.B.

Dim session As New NotesSession
Dim db As NotesDatabase
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim docCurrent As NotesDocument
Dim docNew As Notesdocument   

Set uidoc = ws.CurrentDocument
Set docCurrent = uidoc.Document
Set db = session.CurrentDatabase   
Set docNew = New NotesDocument(db)  'Neues Dokument anlegen
docNew.Form = "Name der Maske"
docNew.Feld1 = docCurrent.Feld1  'Übernahme der Feldwerte
...
Call docNew.Save(True, False)  'Sichern des Dokumentes

Axel
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: fiuman007 am 26.07.04 - 11:04:51
@axel:  

Vielen Dank für Deine Mühe. Aber leider verstehe ich mich da garnicht oder nur sehr wenig in die Formelsprache. Also...
Keine Ahnung wo ich was einsetzen soll.  :(
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: Semeaphoros am 26.07.04 - 11:10:21
Hmm, da hast Du aber nicht die notwendigen Grundlagen, da solltest Du Dich schon mal selber um die Grundlagen der Applikations-Entwicklung mit Notes kümmern. Hier gibt es zwar Hilfe, aber das ist Hilfe zur Selbsthilfe. Fertige Lösungen, wie Du sie offenbar im Moment brauchst, hat das Forum nicht wirklich im Angebot.
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: fiuman007 am 26.07.04 - 11:25:38
@Semeaphoros

Hallo,

ja klar. Ich wollte auch keine fertige Lösung haben. Ich wollte einfach nur wissen ob es überhaupt geht, und dann möglichst ohne Formel. Aber das ist leider nicht der Fall.
Ich bin gerade dabei mich mit der Formelsprache auseinander- zusetzen.  Hoffenlich wirs noch was.
Also nicht böse sein, wenn es jetzt vorher so rübergekommen ist, dass ich nix mache und ein fertiges Ergebnis erwarte., Is nich so ;)
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: Semeaphoros am 26.07.04 - 11:37:30
Fein, danke für Deine Erläuterungen. Nein, es ist nicht ganz so rübergekommen, man hat nur nicht gemerkt, dass Du Dir dessen bewusst bist, wir haben hier im Forum schon manches erlebt, deshalb kommt dieser Hinweis fast automatisch, also ebenfalls nix für Ungut ...  ;D

Rein von der Einschätzung her, Formelsprache könnte da an Grenzen kommen und der Ansatz, den Axel da schon halb skizziert hat, über LotusScript dürfte wohl die Lösung sein. Auf dem Weg, über LS, scheint es mir lösbar zu sein.
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: fiuman007 am 26.07.04 - 11:40:58
Hm. Also LotusScript. Da kenn ich mich ja noch weniger aus ....  :(

Hat schon jemand was ähnliches gemacht oder gibt es hier im Forum ein ähnliches Thema?

Ich habe bisschen rumgesucht, aber bis jetzt leider noch nichts gefunden ...
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: Semeaphoros am 26.07.04 - 11:45:27
Aehnliches hat es hier auch schon gegeben, aber mir fällt spontan nichts ein, wo man so einen Thread finden könnte. Mal abwarten, was die anderen noch so für Ideen bringen, musst mal ein bisschen abwarten, die sind offenbar alle am Aufschwung basteln :)
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: Axel am 26.07.04 - 11:45:56
Hi,

du erstellst dir einen Hotspot, entweder über einer Grafik oder einen Aktionshotspot.  In der Titelzeile des unteren Fenster des Designers wählst du Lostusscript aus und kopiert das Script hinein. Dann musst du das Script noch an deine Maskennamen und Feldnamen anpassen.

...
docNew.Form = "Name der Maske"  'Hier kommt der Maskenname´hin
docNew.Feld1 = docCurrent.Feld1    'Feld1 musst du durch deine Feldnamen ersetzen
docNew.Feld2 = docCurrent.Feld2    'Feld2 musst du durch deine Feldnamen ersetzen
...

docNew ist das neue Document und docCurrent ist das aktuelle Dokument mit den Feldern aus denen die Werte geholt werden sollen.

Ich hoffe ich einigermaßen verständlich erklärt.


Axel
 

Titel: Re:Werte übernehmen(kopieren)
Beitrag von: fiuman007 am 26.07.04 - 12:11:48
Hi,

hab das jetzt so gemacht wie du es mir geschrieben hast :


Sub Click(Source As Button)
   docNew.Form = "Anfragen"
   docNew.BezeichnungAnfrage = "Bezeichnung1"  
   docNew.ZeichnungAnfrage = "Zeichnung1"  
End Sub


Bekomme jetzt aber immer den Fehler wenn ich draufklicke :
"Variant does not contain an object" .....



 ???
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: Axel am 26.07.04 - 12:28:11
Hi,

dir fehlt noch einiges von meinem obigen Script.

Das ganze Script muss so aussehen.

Sub Click(Source As Button)

Dim session As New NotesSession
Dim db As NotesDatabase
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim docCurrent As NotesDocument
Dim docNew As Notesdocument  

Set uidoc = ws.CurrentDocument
Set docCurrent = uidoc.Document
Set db = session.CurrentDatabase  
Set docNew = New NotesDocument(db)  'Neues Dokument anlegen

docNew.Form = "Anfragen"
docNew.BezeichnungAnfrage = "Bezeichnung1"  
docNew.ZeichnungAnfrage = "Zeichnung1"  

Call docNew.Save(True, False)  'Sichern des Dokumentes

End Sub


Axel
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: fiuman007 am 26.07.04 - 12:46:28
...
docNew.Form = "Anfragen"
docNew.BezeichnungAnfrage = "Bezeichnung1"  
docNew.ZeichnungAnfrage = "Zeichnung1"  
...



Also jetzt speichert er schon mal. Nur sind aber im neuen Dokument anstelle vom Inhalt der Felder "Bezeichnung1" & "Zeichnung1", diese Bezeichnungen.

Also es steht nicht der Inhalt drin, sondern die Namen der Felder.
Habs jetzt auch ohne Anführungszeichen versucht, aber dann übernimmt er garnichts.

Kann ich es auch so machen, dass wenn ich auf den Hotspot klicke, auch den Maske zu sehen bekomme?  Weil so speichert er sie nur, ohne sie vorher zu zeigen.

Titel: Re:Werte übernehmen(kopieren)
Beitrag von: Axel am 26.07.04 - 13:16:45
Hi,

sorry, so kommts wenn man nur copy und paste macht.  :-\

So sollte es nun aber funktionieren:

Sub Click(Source As Button)

Dim session As New NotesSession
Dim db As NotesDatabase
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim uidocNew As NotesUIDocument
Dim docCurrent As NotesDocument
Dim docNew As Notesdocument  

Set uidoc = ws.CurrentDocument
Set docCurrent = uidoc.Document
Set db = session.CurrentDatabase  
Set docNew = New NotesDocument(db)  'Neues Dokument anlegen

docNew.Form = "Anfragen"
docNew.BezeichnungAnfrage = doc.Current.Bezeichnung1  
docNew.ZeichnungAnfrage = docCurrent.Zeichnung1  

Set uidocNew = ws.EditDocument(True, docNew)  'Dokument im Frontend öffnen
Call uidocNew.Refresh 'Dokument aktualisieren

End Sub

Axel
 
Titel: Re:Werte übernehmen(kopieren)
Beitrag von: fiuman007 am 26.07.04 - 13:29:36
Danke danke !!! Es geht jetzt.  
Echt vielen Dank Axel.

Titel: Re:Werte übernehmen(kopieren)
Beitrag von: Axel am 26.07.04 - 13:43:14
Hi,

prima.

Setzt du den Thread bitte noch auf "Erledigt".  Danke.


Axel