Autor Thema: Problem mit Datenübergabe  (Gelesen 4566 mal)

Offline frankie07

  • Frischling
  • *
  • Beiträge: 8
Problem mit Datenübergabe
« am: 15.10.07 - 12:37:51 »
Hallo zusammen,

ich bin ein ziemlicher Script Neuling und brauche mal eure Hilfe.
Ich habe folgenden Code, mit dem ich beim klicken auf eine Schaltfläche ein ganz bestimmtes Dokument öffne:

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)


Jetzt würde ich noch gerne ein paar Werte aus dem ersten Dokument an das über die Schaltfläche geöffnete Dokument übergeben. Kann mir da jemand helfen?

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Problem mit Datenübergabe
« Antwort #1 am: 15.10.07 - 12:50:45 »
welches ist das erste Dokument?
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline frankie07

  • Frischling
  • *
  • Beiträge: 8
Re: Problem mit Datenübergabe
« Antwort #2 am: 15.10.07 - 12:54:02 »
Das erste Dokument ist das, in dem die Schaltfläche ist und aus dem ich Werte in das gerade geöffnete übergeben will.
Hast du das gemeint?

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Problem mit Datenübergabe
« Antwort #3 am: 15.10.07 - 13:00:30 »
dein Dokument ist doch das uidoc ....


Also

uidoc.Feldname = doc.getitemValue("FeldName")(0)

Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline frankie07

  • Frischling
  • *
  • Beiträge: 8
Re: Problem mit Datenübergabe
« Antwort #4 am: 15.10.07 - 13:08:25 »
... wie gesagt, bin kein guter Scripter :-(

des schaut jetzt so aus:
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)
uidoc.test = doc.getitemValue("avd_kont_art")(0)


Funktioniert aber nicht. das Feld "test" ist in dem gerade geöffneten Dokument. Das Feld "avd_kont_art" will ich übergeben.

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Problem mit Datenübergabe
« Antwort #5 am: 15.10.07 - 13:10:32 »
das uidoc ist aber noch gar nicht gesetzt, fahrradlbua!


Er besorgt sich ein Dokument im Backend und öffnet es im Frontend.

wenn das erste das bereits geöffnete sein soll und mit dem uidoc angesprochen werden soll, muss er das uidoc erst einmal setzen, dann das backend dokument holen,  dann die Werte aus dem Frontend in das Backenddokument übertragen (also genau andersrum als bei dir ) und dann das Backenddokument öffnen.

aber ich bezweifle, dass das wirklich die gewünschte Reihenfolge ist.
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Problem mit Datenübergabe
« Antwort #6 am: 15.10.07 - 13:12:21 »
... wie gesagt, bin kein guter Scripter :-(

des schaut jetzt so aus:
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)
uidoc.test = doc.getitemValue("avd_kont_art")(0)


Funktioniert aber nicht. das Feld "test" ist in dem gerade geöffneten Dokument. Das Feld "avd_kont_art" will ich übergeben.

sorry, aber was sagt dein Debugger zu dem Ganzen?
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Problem mit Datenübergabe
« Antwort #7 am: 15.10.07 - 13:20:18 »
hmmm ich hatte nur kurz auf die Deklaration geachtet,

dachte wir haben hier nur Snippets.

Dann holt er sich halt das aktuelle uidoc mit

Code
Set uidoc = ws.currentdocument


das sollte ja dann das Dokument sein in dem er den Knopf gedrückt hat.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Problem mit Datenübergabe
« Antwort #8 am: 15.10.07 - 13:21:51 »
uidoc.test = doc.getitemValue("avd_kont_art")(0)

So kann das schon mal überhaupt nicht funktionieren.

Wenn du das mit dem uidoc machen willst, dann so:

Call uidoc.FieldSetText("Test", doc.getitemValue("avd_kont_art")(0))


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

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Problem mit Datenübergabe
« Antwort #9 am: 15.10.07 - 13:42:02 »
Ich hätte da mal ne Frage. Mit Formula hast Du schon gearbeitet?
Wieviel Erfahrung hast Du in der Notesprogrammierung?

Was soll da eigentlich erreicht werden? Für mich sieht das aus, als das da was für eine Anzeige übergeben werden soll. Warum also nicht Notes die Arbeit machen lassen? Felder mit gleichem Namen und Werte automatisch übergeben?
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Problem mit Datenübergabe
« Antwort #10 am: 15.10.07 - 13:52:32 »
Dominoforum

Bitte nochmal die Regeln lesen...  :P

X-Post
« Letzte Änderung: 15.10.07 - 13:54:59 von DerAndre »
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline frankie07

  • Frischling
  • *
  • Beiträge: 8
Re: Problem mit Datenübergabe
« Antwort #11 am: 15.10.07 - 15:55:21 »
Wenn ich das jetzt so mache:

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)
Call uidoc.FieldSetText("Test", doc.getitemValue("avd_kont_art")(0))


Kommt die Meldung: "Object Variable not set"??????

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Problem mit Datenübergabe
« Antwort #12 am: 15.10.07 - 16:06:54 »
weil du das uidoc nicht setzt.

ich fürchte, dir fehlen jegliche Grundlagen für die Programmierung.
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: Problem mit Datenübergabe
« Antwort #13 am: 15.10.07 - 16:21:06 »
Hi,

hast du jetzt das mit dem X-Posting verstanden ?
(ich glaub nicht ganz - ich hab zumindest noch keinen verweis im "domino-forum" auf dieses Posing gefunden)

Dominoforum

Bitte nochmal die Regeln lesen...  :P

X-Post

Ansonsten wird Dir sicher gleich Deine Problemlösung verraten...  ;)

Nur nochmal so viel zu deinem Script:
doc ist ja das Dokument, dass du öffnen willst.
UIDoc hast du Deklariert (Dim uidoc As NotesUIDocument )
aber noch nicht zugewiesen, ich vermute du willst das aktuelle, aus dem Du die Schaltfläche betätigst. -> gleich nach dem Dim ein "Set UIDoc = WS.CurrentDocument"

Ausserdem musst du noch das UIDoc des geöffneten zuweise. (Du hast es zwar als doc aber eben noch nicht als UIDoc. Nennen wir es besser UIDoc2 - sonst wirds nachher verwirrend!)

Das ganze wäre aber auch ohne LSC lösbar.

Mehr aber erst, wenn Du Dich an die Regeln hälst!

Gruss, Pete(r)
pete(r)

Offline frankie07

  • Frischling
  • *
  • Beiträge: 8
Re: Problem mit Datenübergabe
« Antwort #14 am: 16.10.07 - 08:09:44 »
Jetzt hab ichs verstanden. Sorry, ich wollt gegen keine Regeln verstoßen, war keine Absicht!!!!

Hier der Link: http://www.dominoforum.de/modules/newbb/viewtopic.php?topic_id=16809&forum=47


Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Problem mit Datenübergabe
« Antwort #15 am: 16.10.07 - 08:42:49 »
Ich persönlich bin kein Freund des uidocs, deswegen würde ich die dein Uidoc so intanzieren

Set uidoc = ws.currentDocument.document

du solltest aber deine Dekleration auf

Dim uidoc as NotesDocument

ändern sonst fliegt es dir um die ohren.

Die Änderungen werden dann trotzdem im geöffneten Document angezeigt. Falls dies nicht der Fall sein sollte kannst mit einem

call ws.currentdocument.refresh

nachhelfen
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Problem mit Datenübergabe
« Antwort #16 am: 16.10.07 - 08:53:56 »
Mach in Deinen Options auf jeden Fall ein

Option Declare

damit wirst Du gezwungen alle Variablen zu deklarieren und Bau eine Fehlerbehandlung ein, das erleichtert Dir die Suche bei Fehlern ungemein.

Dim uidoc as notesdocument

ist verwirrend. Variable mit präfix ui ( also Frontend ) und dann als notesdocument ( also Backend ) deklarieren ist nix.

André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Problem mit Datenübergabe
« Antwort #17 am: 16.10.07 - 08:55:36 »
also, mit uidoc ein Backenddokument zu bezeichnen halte ich für ziemlich gefährlich, Fahradlbua.
Wenn ich von einem anderen Code übernehme, und die Variablen beginnen mit ui, dann erwarte ich ein Frontentobjekt und kein Backend.
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Problem mit Datenübergabe
« Antwort #18 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 oder da ich ein kompromissbereiter mensch bin :

Dim currentDoc as NotesDocument

Set  uidoc = ws.currentDocument

Set currentDoc = uidoc.Document

Mir ging es ja nur darum dass er nicht den überblick bei seinen variablen verliert.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Driri

  • Gast
Re: Problem mit Datenübergabe
« Antwort #19 am: 16.10.07 - 09:19:11 »
Sehe ich anders. So etwas sollte man sich gar nicht erst angewöhnen. Das mag bei kurzen Scripten noch gutgehen, aber spätestens bei umfangreichen Skriptbibliotheken schaut da niemand mehr durch - auch der Entwickler des Scriptes i.d.R. nicht mehr.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz