AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
19.10.21 - 11:39:08
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Domino 9 und frühere Versionen
| |-+  ND6: Entwicklung (Moderatoren: Axel, eknori, Hoshee, ata, koehlerbv)
| | |-+  Probleme beim Laden von Daten aus dem Backend ins Frontend
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Probleme beim Laden von Daten aus dem Backend ins Frontend  (Gelesen 3977 mal)
Hazamel
Frischling
*
Offline Offline

Beiträge: 7


« am: 07.12.06 - 10:16:35 »

Hallo

Ich hoff mal dass ich hier das richtige Forum erwischt habe und dass mir hier vielleicht geholfen werden kann.
Nachdem ich die SuFu schon bemüht habe, viel interessantes gelesen habe, aber leider nichts was mich weitergebracht hat, schilder ich mein Problem jetzt selber.

Wir haben eine Datenbank in der statistische Daten ausgewertet werden. Da sich die Daten über den Tag hinweg immer mal wieder ändern, gibt es eine "Aktualisieren"-Funktion.
Diese stößt dann einen Agenten an, der aus einer DB2-Datenbank die aktuellen Zahlen holt und das Dokument damit entsprechend beschickt.
Der ist bisher in LotusScript geschrieben, aber im Zuge einer Umstrukturierung auf JDBC Type 4 musste der Agent ein Java-Agent werden. Das befüllen klappt beim erstellen des Dokuments auch einwandfrei.

Beim Aktualisieren läuft er auch brav durch. Nur kommen die Daten vom Backend leider nicht im Frontend an.

Aufgerufen wird er in der Aktion wie folgt:

Code:
Dim agent As NotesAgent
Set agent = db.GetAgent("WerteHolen")
agent.Run(doc.NoteID)
' Usernamen eintragen, der die Felder K1 - 5 verändert hat
Call AVUser


' Dokument mit Änderungen aus Backend-Dokument füllen
Call uidoc.reload

Call uidoc.Refresh

Das die Daten im Backend angekommen sind, merk ich zum einen dran dass es beim Speichern eine Warnung vor einem Speicherkonflikt gibt und wenn ich in der Ansicht (während ich das Dokument noch offen habe) die Eigenschaften des Dokuments aufrufe auch die aktuellen Werte in den entsprechenden Feldern habe.

AutoReload hab ich auch schon probiert, ändert aber nichts am Ergebnis.

Vielen Dank schonmal für die Hilfe
Gespeichert
Fedaykin
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 229


Ya Hya Chouhada!


« Antworten #1 am: 07.12.06 - 10:41:35 »

Hallo

Schon mal versucht das FontEnd Dokument einfach zu schliessen und neu zu öffnen oder ist das keine Möglichkeit die in Frage kommt?

Gruss
Remo
Gespeichert

Ich sage Euch: "Man muss noch Chaos in sich haben, um einen tanzenden Stern gebären zu können."
Hazamel
Frischling
*
Offline Offline

Beiträge: 7


« Antworten #2 am: 07.12.06 - 11:18:57 »

Doch.

Aber genau dann versucht Notes ja zu speichern und stellt fest dass im BackEnd was anderes steht als im FrontEnd.
Gespeichert
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #3 am: 07.12.06 - 11:21:49 »

Mach ein NotesUIWorkspace.ViewRefresh - dann sollte das Frontend wieder zeigen, was das Backend zu bieten hat.

Bernhard
Gespeichert
Hazamel
Frischling
*
Offline Offline

Beiträge: 7


« Antworten #4 am: 07.12.06 - 11:46:11 »

Hab ich grad nochmal probiert...

Gleiches Ergebnis: Die Felder in der Maske bleiben leer und wenn ich auf die Eigenschaften des Dokuments gehe, sind alle Daten richtig eingetragen.
Gespeichert
Hazamel
Frischling
*
Offline Offline

Beiträge: 7


« Antworten #5 am: 07.12.06 - 11:54:13 »

Was ich auch nicht verstehe, ist warum die Daten beim schließen der Maske ohne Speichern weg sind.

Im Java-Agenten speichere ich die Werte ja schon nachdem ich die Methoden durchlaufen habe mit einem doc.save();

Code:
Stat1(rs, st, doc);
            Stat2(rs, st, doc);
            Stat3(rs, st, doc);
            Stat4(rs, st, doc);
            doc.save();

Gespeichert
Fedaykin
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 229


Ya Hya Chouhada!


« Antworten #6 am: 07.12.06 - 12:03:18 »

Hab Dir ein Codebeispiel gesucht wo es um so einen reopen geht. Ist aus einer Klasse rauskopiert also weiss nicht wie gut so klappt aber wie das mit neu öffnen gemeint ist müsste man da so rauslesen können. Hoffe hilft.

   Sub ReOpen(msource as notesuidocument,FormName As String)
      Dim ws As New NotesUIWorkspace
      Dim olduidoc As NotesUIDocument
      Dim thisdoc As NotesDocument
      Set olduidoc=mSource
      Set thisdoc = mSource.Document ' doc in memory but hasn't been saved yet
      
      UnbindEvents
      
      thisdoc.Form=FormName
         ' set the SaveOptions field so that when the uidoc is closed, the user won't be asked to save
      thisdoc.SaveOptions = "0"
         ' close the uidoc. It won't actually happen until the code is finished executing
      olduidoc.Close False
      
         ' create a new uidoc and open the backend doc that is still in memory with added doc link
      Set mSource = ws.EditDocument(True, thisdoc)
         ' delete the reference to the old uidoc
         ' this is necessary because the code below affects it if left in memory
      Delete olduidoc
         ' re-associate the variable with the backend doc
         ' have to do this because the olduidoc reference was deleted
      Set thisdoc = mSource.Document
         ' remove the SaveOptions field so the doc can be saved
      thisdoc.RemoveItem "SaveOptions"
      mSource.Refresh
   End Sub
Gespeichert

Ich sage Euch: "Man muss noch Chaos in sich haben, um einen tanzenden Stern gebären zu können."
Hazamel
Frischling
*
Offline Offline

Beiträge: 7


« Antworten #7 am: 08.12.06 - 07:50:35 »

Hmm.... danke.

...aber auch nicht von erfolg gekrönt. Hatte das mit einem Feld namens SaveOptions schon probiert und nach Ausführen des Agenten die Registerkarte schließen lassen um zur Ansicht zurückzukehren, wo die Daten ja richtig ausgelesen werden können, aber eben nur über die Eigenschaften des Dokuments.

Leider sind dann wieder alle Daten weg  Angry
Gespeichert
Fedaykin
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 229


Ya Hya Chouhada!


« Antworten #8 am: 11.12.06 - 16:30:02 »

Wenn Werte richtig im Dokument stehen und nicht irgendwie bei initialisieren der Maske überschrieben werden weiss ich auch nicht weiter. Hab ich bisher noch nie erlebt.

Gruss
Remo
Gespeichert

Ich sage Euch: "Man muss noch Chaos in sich haben, um einen tanzenden Stern gebären zu können."
Hazamel
Frischling
*
Offline Offline

Beiträge: 7


« Antworten #9 am: 15.12.06 - 07:57:34 »

Danke auf jeden Fall für die Hilfe und die Vorschläge.

Ich werd jetzt noch ein bißchen rumprobieren und falls ich noch eine Lösung finde, werd ich sie auf jeden Fall, incl. Fehlerbeschreibung, hier posten.
Gespeichert
Hazamel
Frischling
*
Offline Offline

Beiträge: 7


« Antworten #10 am: 15.12.06 - 10:53:56 »

So schnell kann's gehen:

Im Queryclose hatte sich noch ein save versteckt, dass immer das eben nicht aktualisierte Dokument gespeichert hat. Und aus irgendwelchen Gründen gab es auch keine Meldung, dass ein Speicherkonflikt vorlag.

Auf jeden Fall nochmal allen Danke für die Mühe
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: