Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: botschi am 15.01.08 - 11:38:06

Titel: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 11:38:06
Hallo,

ich habe nahezu das gleiche Problem, wie hier beschrieben:
http://atnotes.de/index.php?topic=27554.0

Aus einer Aktion der eingebetteten Ansicht wird ein Dok erstellt. Das wird aber erst angezeigt, wenn man im Frontend F9 drückt, ein uidoc.refresh in der Aktion bringt Notes um die Ecke.

Gibt es zu dem Absturz und dem Schließen und Öffnen des Frontends (immer noch) keine Alternative?


Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: koehlerbv am 15.01.08 - 12:11:26
Ich habe damit Null Probleme, aber ich verwende auch NotesUIWorkspace.ViewRefresh (was das Gegenstück zu F9 ist).

Bernhard
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 12:21:53
Du, mit NotesUIWorkspace.ViewRefresh hab ich auch keine Probleme mehr ;D

Ist das schön, ich bin begeistert!
Danke Bernhard.

Gruß,
Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 12:34:43
Das geht aber nur, sobald die eingebettete View bereits 1 Dokument anzeigt.

Ansicht ist leer, Dokument erzeugen und ws.viewrefresh = Ansicht bleibt leer.
Ansicht hat bereits min. 1 Dok, neues Dok erzeugen und ws.viewrefresh = Ansicht zeigt neues Dok an.

Hast Du dafür eine Lösung?

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: koehlerbv am 15.01.08 - 12:38:33
Das hat mit ViewRefresh aber nichts zu tun - da muss die Ursache woanders liegen.

Bernhard
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 12:48:39
Tja... In der Maske erscheint in der Printzeile "Kategorie nicht gefunden", nachdem man das erste Dokument angelegt und ws.viewrefresh durchgeführt hat...

Wo könnte die Ursache liegen?
In der Maske?
In der View?
In der Aktion?

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: koehlerbv am 15.01.08 - 12:59:48
Hast Du mal vor dem ws.ViewRefresh auch die View selbst (Backend) aktualisieren lassen? Nicht, dass Du hier ein Timing-Problem hast.

Bernhard
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 13:04:36
Ja, kein Erfolg.
Hab auch schon mit den Eigenschaften der Maske, der eingebetteten Ansicht und der Ansicht gespielt- alles kein Erfolg.

Hab auch geschaut, ob ich einen DB-Index habe.
Beim 2. und den folgenden Doks funtioniert das prima!

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: koehlerbv am 15.01.08 - 13:20:00
Wie gesagt - ich kann das nicht nachvollziehen (und ich habe etlicher derartiger DBs).

Bernhard
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 13:22:45
Mich macht das nachdenklich, dass in der Printzeile "Kategorie nicht gefunden" steht...

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: koehlerbv am 15.01.08 - 13:24:59
Warum? Das ist doch der gleiche Fakt wie Deine leere embedded view ...

Bernhard
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 13:42:53
Ja, eben...
Das riecht doch nach Pipikram! "Kategorie nicht gefunden" kann ja gar nicht sein, weil es ja ein Dokument mit der Kategorie gibt.
Wer schnallt das denn nicht rechtzeitig? Der Ansichtenindex? Der DB-Index?

Liegts am Kot?
Code
Dim ws As New NotesUIWorkspace
	On Error Goto fehler
	
	Dim s As New NotesSession
	Dim ivSaem As NotesDatabase
	Dim ivPoolDB As NotesDatabase
	Dim ivFrontendIndexAntrag As notesuidocument
	Dim ivBackendIndexAntrag As notesdocument
	Dim ivProfil As notesdocument
	Dim ivDialogbox As Variant
	
	Set ivFrontendIndexAntrag = ws.CurrentDocument
	Set ivBackendIndexAntrag = ivFrontendIndexAntrag.Document
	
	Set ivSaem = s.CurrentDatabase
	Set ivProfil = ivSaem.GetProfileDocument("Profildokument")
	
	Set gvIndexdokument = ivSaem.CreateDocument
	gvIndexdokument.form = "frmIndex_Antrag"
	Call gvIndexdokument.ComputeWithForm(True, True)
'######## mit Konfig-DB den Pfad zum Pool holen #############
	
	Dim ivPoolName As String
	Dim ivPoolServer As String
	
	ivPoolName = ivProfil.db(0)
	ivPoolServer = ivProfil.server(0) 
	Set ivPoolDB = s.GetDatabase(ivPoolServer, ivPoolName)
	
dlgbox_aufrufen:
	ivDialogbox = ws.PickListStrings(3, False , ivPoolServer, ivPoolName, "viw_index_geplant", "Bitte auswählen" _
	, "Welcher geplante Index soll hinzugefügt werden?", 7, ivFrontendIndexAntrag.FieldGetText("tabname"))
	If (Isempty(ivDialogbox)) Then
		Exit Sub
	End If
	
	Set gvIndexdokument_DP = ivPoolDB.GetDocumentByUNID(Cstr(ivDialogbox(0)))
	gvIndexdokument.neu = "N"
	gvIndexdokument.nr = ivBackendIndexAntrag.indexnummer(0)
	gvIndexdokument.tabname = ivBackendIndexAntrag.tabname(0)
	gvIndexdokument.ticketnr = ivBackendIndexAntrag.ticketnr(0)
	gvIndexdokument.str_ticketnr = ivBackendIndexAntrag.str_ticketnr(0)
	gvIndexdokument.aufnehmer = ivBackendIndexAntrag.aufnehmer(0)
	gvIndexdokument.status = ivBackendIndexAntrag.status(0)
	gvIndexdokument.meldedatum = Today
        Call gvIndexdokument.Save(True, False)
'###################################################
	' werte aus dem Indexdokument in dieses dokument übernehmen und speichern
'	Call uebernehmen
' #########################################	
'	Dim view As NotesView
'	Set view = ivsaem.GetView("viw_indizesalle_no")
'	Call view.Refresh
	
	Call ws.ViewRefresh
	
	Exit Sub
fehler:
	Msgbox Erl
End Sub
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: koehlerbv am 15.01.08 - 13:48:29
Naja, die Meldung ist doch richtig: Die embedded view ist leer, ergo "Kategorie nicht gefunden".

DB-Index? Was soll das sein (oder welcher - es gibt zahlreiche Indizes in einer Notes-DB  ;)). Es ist der Ansichtsindex - zumindest die Sicht Deines NotesUIWorkspace hierauf. Sehr mystisch, das ganze, zumal es ja ab dem zweiten Dokument funktioniert.

Hast Du noch eine andere Client-Version zur Verfügung? Was passiert in einer lokalen Replik?

Bernhard
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 13:53:27
Ich habe eben eine neue DB erstellt und dort funktioniert es!
Es muss mit meiner Maske zu tun haben... Ich erstell sie mal neu.
Jedenfalls liegt es an mir oder meiner DB, Du kannst mir da wohl nicht mehr helfen. Das Prinzip funktioniert ja einwandfrei!

Eine andere Clientversion habe ich nicht, Lokal hab ich es noch nicht ausprobiert.

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 15:17:55
Also ich meine den Fehler gefunden zu haben, obwohl mir das mehr als blödsinnig vorkommt!

Wenn ich meine Formel der Ansichtsauswahl der eingebetteten Ansicht (die auch die Aktion hat) ohne den Aliasnamen schreibe
SELECT ((Form = "Index zu Antrag"))  & geloescht = ""
funktioniert es.

Wenn die Auswahl so aussieht
SELECT ((Form = "Index zu Antrag") | (Form = "frmIndex_Antrag"))  & geloescht = ""
funktioniert es nicht.

Kann das sein? Kann ich die Ansicht dazu bringen auch mit dem Aliasnamen zu arbeiten?

Matthias

Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: ata am 15.01.08 - 15:23:41
... du musst mit dem Wert arbeiten, der im Feld Form steht - i.d.R. ist das der Aliasname, wenn du ihn nicht explcit überschreibst, bzw. kein Formfeld mit Vorgabe hast...

Toni
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 15:42:03
Ich habe in der Maske ein Formfeld mit dem Aliasnamen als Vorgabewert.
In der Aktion setze ich das Feld Form nochmal mit dem Aliaswert.
Die Ansichtsauswahl ist so
SELECT ((Form = "Index zu Antrag") | (Form = "frmIndex_Antrag"))  & geloescht = ""
funktioniert nicht.

Wenn ich es so mache (alles ohne Alias):
Ich habe in der Maske ein Formfeld mit dem Maskennamen als Vorgabewert.
In der Aktion setze ich das Feld Form nochmal mit dem Maskennamen.
Die Ansichtsauswahl ist so
SELECT ((Form = "Index zu Antrag"))  & geloescht = ""
funktioniert es.

Das kann es doch nicht sein. Vor allem, weil es schon viel Doks gibt, in denen im Feld "Form" der Aliasname steht. Wie soll ich das denn jetzt mit dem nächsten Schablonenupdate migrieren??

EDIT:
Ist meine Ansicht defekt?

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: ata am 15.01.08 - 15:47:23
... das hört sich für mich obskur an  ???

Werde es heute Abend mal mit ner neuen DB testen !!!

Toni
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: koehlerbv am 15.01.08 - 15:56:36
Das ist offensichtlich obskur, denn syntaktisch ist die Formel korrekt.

Was passiert, wenn Du folgende Formel verwendest?
SELECT (Form *= "Index zu Antrag" : "frmIndex_Antrag")  & geloescht = ""

Aber warum machst Du eigentlich überhaupt solche Stunts mit dem Inhalt des Items "Form"? Eigentlich sollte man sowas ja vermeiden, und meist ist es vollkommen unnötig.

Bernhard
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 15:58:51
Das kann ich mir so auch nicht vorstellen. Ich glaube immer noch an einen Haken, den ich gesetzt/nicht gesetzt habe.
Ich gehe ausserdem davon aus, dass Bernhard auch mit dem Aliasnamen arbeitet und bei ihm gehts ja auch.

Oder ein Element ist kaputt?

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 16:01:48
Mit der Formel von Bernhard gehts auch nicht.

Welchen Stunt mit dem Item "Form" meinst Du jetzt genau?  ;D
Da gibt es mittlerweile ja mehrere Stunts, für die ich sicher keine goldene Anstecknadel bekomme...

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: DerAndre am 15.01.08 - 16:02:16
Ich habe mir gerade den Thread mal zu gemüte geführt.

Dieses Verhalten haben wir auch. Nun habe ich eine eventuelle Erklärung dazu.
In Dokumenten mit Aliasnamen muß man beim ersten mal die Ansicht manuell aktualisieren, bei denen vo der Maskenname enthalten ist, klappt es ohne Aktualisierung mit dem Nachbarn.
Bei uns werden die Werte nur beim erstellen des Dokumentes geändert. Ansonsten lassen wir die Finger davon.

( Wir arbeiten mit Notes 6.5.1 )
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 16:06:09
Wie gesagt, das Dok wird nur nicht angezeigt, wenn die eingebettete View noch gar keine Dokumente anzeigt.
Führt man den Knopf 2x nacheinander aus (oder wenn die View schon ein Dok anzeigt), zeigt die View auf einmal beide Doks an...  ???

Im Prinzip würde ich auch mit dem Maskennamen arbeiten, mir ist es völlig egal. Nur leider verwende ich eigentlich überall den Aliasnamen und es gibt auch schon viele, viele Doks, die im Item "Form" den Alisnamen haben. Die müsste ich dann ja alle "migrieren" und das geht gar nicht.

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: koehlerbv am 15.01.08 - 16:13:56
Ich arbeite prinzipiell mit Aliasnamen (seit Notes 3), in embedded views seit Notes 5. Ich hatte damit noch niemals Probleme, allerdings greife ich auch immer nur auf den Aliasnamen zurück. Und Möglichkeiten, dass statt des Aliasnamens auch mal der "normale" Formname im Dokument stehen könnte, schliesse ich prinzipiell aus (wobei ich aber durchaus auch mal den Inhalt des Items "Form" austausche, aber alles im Backend).

Bernhard
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 16:40:56
Ja, ich denke ja auch, dass ich irgendwo einen Fehler habe.
Der Wald vorm meinem Kopf wird auch dichter und undurchsichtiger...

Ich kann nicht den ganzen Tag damit verbringen, zumal es ja nur beim 1. Dok nicht geht. Richtig traumhaft ist es nicht, aber denn müssen die User halt EINMAL aktualisieren oder noch ein Dokument erzeugen.

Danke erstmal!

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: koehlerbv am 15.01.08 - 16:54:17
Warum nimmst Du denn nicht einfach nur den Aliasnamen für Dein SELECT-Statement, wie es das normale Procedere wäre, Matthias?

Bernhard
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 17:00:13
Hatte ich ja zuerst, wurde aber von mir während der Experimentierphase geändert.
Jetzt sieht mein Statement wieder so aus:
SELECT ((Form = "frmIndex_Antrag")) & (geloescht = "")
und geht immer noch nicht beim 1. Dokument ;D

Der Tag soll aber mit einem Erfolgserlebnis enden, deswegen muss ich damit jetzt aufhören  ;D

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: koehlerbv am 15.01.08 - 17:12:16
Wenn das schon nur mit dem Alias nicht klappt: Habe ich dann hier im Thread etwas verpasst? Um DIESES Thema hätten wir uns dann ja gar nicht kümmern brauchen ...

Bernhard
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 15.01.08 - 17:21:55
Vielleicht war ich nicht immer ganz genau bei meinen Erklärungen? Kann sein, deswegen hier nochmal eine Zusammenfassung:

Wenn überall und immer mit dem Maskennamen gearbeitet wird, gehts immer mit ws.ViewRefresh- auch beim 1. erstellten Dokument.
Wenn mit dem Aliasnamen gearbeitet wird, gehts mit ws.ViewRefresh ab dem 2. erstellten Dokument.

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: koehlerbv am 15.01.08 - 17:39:32
Wie gesagt: Ich arbeite ausschliesslich mit den Aliasnamen. Niemals mit dem Anzeigenamen für "Form" - niemals. Und bei mir funktioniert es - genau so, wie Du es anstrebst.

Daher meine Frage: Was steht denn bei Dir im Item "Form"? Wirklich der Aliasname? Hast Du sonst noch Prozesse am laufen, die ggf. dieses Item (nachträglich) manipulieren?

Bernhard
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: ata am 15.01.08 - 21:20:45
Also ich arbeite ebenso ausschließlich mit Aliasnamen - hatte noch nie Probleme - auch nicht beim ersten Dokument.

Ich würde die fehlerhaften Dokumente migrieren, damit wenigstens eine einheitliche Vorgehensweise garantiert ist. Zudem würde ich das Feld "Form" nur dann in der Maske verwenden, wenn ich es tatsächlich benötige - zum Beispiel zum switchen der Maske etc...

Toni
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 16.01.08 - 09:36:04
Das Formfeld habe ich wieder ausgebaut, ich mache keinen Maskenwechsel.

Den Code habe ich ja schon gepostet, mehr passiert da nicht. Weil es erst beim zweiten erstellten Dokument richtig funktioniert, denke ich an ein "Aktualisierungsproblem". Irgendein Haken in der View, der DB oder der Maske, der fehlt oder gesetzt ist.
Also es ist definitiv ein Problem meiner DB und kein genereller Bug oder sowas. Im Prinzip tut es ja richtig und bei euch gehts ja auch.

Das macht mich aber auch ein wenig traurig, weil ich jetzt nicht mehr auf Hilfe hoffen kann  :'(

Würde ein Compact oder dergleichen vielleicht was bewirken? Ist vielleicht irgendwas defekt?
Oder handelt es sich tatsächlich um einen Designfehler (wovon ich natürlich nicht ausgehe  ;D)?

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: ata am 16.01.08 - 10:23:56
... ich habe versucht es mit einer nagelneuen DB nachzuvollziehen - ich habe es nicht geschafft - bei mir geht alles ordnungsgemäß ...

Kannst du eine leere Kopie der DB zur Verfügung stellen, damit man sich das mal live anschauen kann?

Toni
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 16.01.08 - 11:48:17
Mir ist eben noch folgendes aufgefallen:
Als ich die relevanten Sachen (Maske und Ansicht mit Aktion) in eine leere DB kopiert und ein wenig angepasst (es wird mehrfach auf andere DB´s referenziert, die ich hier nicht posten kann) und danach ausprobiert habe, lief alles super.

Diese beiden Elemente habe ich in die "echte" DB kopiert und ausprobiert, weil es dann ja eigentlich richtig tut. Die Dinge, die ich aus der Maske geschmissen habe, sind erstmal nicht relevant.
Aber, es ging wieder nicht! Die gleichen Elemente, die in der Test-DB funktionieren, funktionieren in meiner DB nicht!

Deswegen muss es doch irgendwie mit der DB zu tun haben?! Die Eigenschaften der beiden DB´s habe ich verglichen- kein Unterschied. Nur die ACL unterscheidet sich.

Ich hänge die Test.nsf mal hier rein, obwohl es eigentlich sinnlos ist- da funktioniert es ja  ???

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: ata am 16.01.08 - 12:03:04
... da lässt sich das dann ja nicht nachvollziehen  :(

Toni
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 16.01.08 - 12:25:47
Ja, es tut mir leid für eure investierte Zeit.
Für die, die sich gut unterhalten gefühlt haben- gern geschehen  ;D

Ich hab ne leere Kopie meine DB gemacht und es erneut ausprobiert.
Alles tut vom Feinsten und genau so, wie ihr es auch alle nachstellen könnt.

Meine DB ist kaputt gespielt oder sonst was.
Danke für eure Hilfe!

Matthias
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: klaussal am 16.01.08 - 12:41:04
da bist Du wahrscheinlich nicht der Einzigste. Ich habe schon oft Ansichten komplett neu machen "dürfen", weil die auf einmal einen Schlag weg hatten und nicht mehr funktionierten.
Titel: Re: Frontend mit eingebetteter Ansicht aktualisieren
Beitrag von: botschi am 16.01.08 - 13:48:04
Das kenne ich auch.
Hier ist es aber so, dass ich eine Kopie ohne Dokumente der (kaputten?) DB mache. In der "neuen" DB funktioniert es dann einwandfrei.
Ein Schablonenwechsel, Fixup oder das Löschen der Ansicht in der kaputten DB bringt nicht den gewünschten Erfolg.

Wenn ich die Schablone über die produktive DB lege und es nicht funktioniert, kann ich ja davon keine leere Kopie machen... Da fallen mir 1-2 Leute ein, die mit Herzstillstand vom Stuhl fallen würden.

Sehr komisch  :-:

Matthias