Domino 9 und frühere Versionen > ND8: Entwicklung
selektieren des gerade erzeugten dokumentes in der view
koehlerbv:
Völlig klar, Peter, Und vielen Dank für Deinen Tipp.
Mein "aber!" ist eben, dass sich völlig andere neue Probleme auftun können. Ausserdem kann ich den Sinn der Aktion nicht ganz nachvollziehen. Ich gebe neue Personendaten ein. Okay, nix dagegen einzuwenden. Nur warum muss ich danach in der Ansicht genau auf diesem Dokument stehen? Wann brauche ich das, und wann möchte ich das genau *nicht*? Wenn ich das Personendokument noch brauche, dann lasse ich es eben offen. Wenn ich es schliesse und sehe dann in der Ansicht wieder "Hirsch, Harry bis Killerkarpfen, Kuno", dann kann ich ja immer noch "dödelmann" eingeben und lande wieder dort, wo ich eben versehentlich ein Dokument geschlossen habe.
Ich denke, Stephan hat hier noch was anderes, sinnvolles vor, sagt es aber noch nicht.
Bernhard
Peter Klett:
Gebraucht habe ich sowas auch noch nie, und wahrscheinlich viele andere auch nicht, sonst wäre das in Notes vielleicht schon seit irgendeiner Version umgesetzt.
Unter Bemühung der Glaskugel könnte ich mir vorstellen, dass aus der Ansicht der Adressdatenbank weitere Aktionen möglich sind wie
1. Anrufen, Mail schreiben usw.
2. Weitere Dokumente zu der Adresse anlegen (Aufträge, weitere Kontaktdaten usw.)
Wird nun eine neue Adresse erfasst, um die z.B. anzurufen, ist das schon lästig, dass nach Erfassung das Dokument gesucht werden muss. Bei kategorisierten Ansichten ohne sortierbare Namensspalte ist es mit "dödelmann" eintippen alleine auch nicht getan.
Ich würde lieber diese Ansichtsaktionen zusätzlich in die Maske aufnehmen, um sie aus dem geöffneten Dokument ausführen zu können. Hätte auch den Vorteil, dass ich mehrere Adressen gleichzeitig offen haben kann, ohne sie jedesmal wieder neu in der Ansicht suchen zu müssen. Wenn vermieden werden soll, dass die Aktionen auf ungespeicherte Dokumente ausgeführt werden, lässt sich das auch noch verhindern.
Im Falle von 2. würde ich auch noch eine Ansicht in das Adressdokument einbetten, die alle zu der Adresse relevanten Dokumente anzeigt, um auch im geöffneten Dokument das Umfeld der Adresse sehen zu können und um Dopppelanlagen zu vermeiden.
Damit haben wir uns aber von der Beantwortung der eigentlichen Frage weit entfernt.
Snowman:
Also vielen Dank für Eure Antworten.
Ich werde die Idee von Peter mal einbauen und testen.
Zumindest weiß ich nun, ich habe nichts Übersehen sondern es ist nicht ganz trivial.
Die Datenbank ist so aufgebaut, dass unter den Personen, oder Firmen alle weiteren Dokumente dazu hängen. Rechnungen, Mails, Briefe, etc...
Man stellt sich auf eine Person und legt das entsprechende Dokument an.
Natürlich kann ich immer eine alternative Steuerung einbauen, so das ich das Wichtigste aus einer Maske heraus aufrufen kann. Das Userinterface, dass ich gewählt habe ist sehr simpel und für meine Kunden gut verständlich. 'Man stellt sich auf den Kunden drauf, und wählt dann in der Ansicht was man damit machen möchte'...
Das Prinzip gilt in jeder Ansicht und mit jedem Dokument.
Und da wäre es sehr komfortabel, nach dem Anlegen einer neuen Person, oder einer Firma zu der ich mehrere Personen erfassen möchte, schon auf dem richtigen Dokument zu stehen.
Notes hat Grenzen, das ist schon OK. Die Vorteile für mich überwiegen jedoch bei weitem.
Ich schreibe Euch noch wie der Test in einer kategorisierten Ansicht verlaufen ist.
Vielen Dank
Stephan
Snowman:
Peter's Lösungsvorschlag funktioniert SUPER!
Es passiert genau das was die Kunden wollten.
Nach Eingabe einer neuen Person stehe ich in der View genau auf dieser Person.
Es funktioniert in einer kategorisierten Ansicht und auch wenn ich mit dem Frameset starte.
Also statt Call workspace.OpenDatabase (db.Server, db.Filepath, "MeineAnsicht")
Call ws.OpenFrameSet("MeinFrameset")
Dann noch ein bisschen Errorhandling und das wars.
Danke für den Tipp Peter! :)
Grüße
Stephan
Tode:
Das Thema ist zwar schon lange abgefrühstückt, ich muss trotzdem noch meinen Senf dazu geben: Wenn Du Dir nicht das Postopen der View verbiegen willst, dann ist das eigentlich ein typisches Beispiel für "Remote Binding":
Du erstellst in der View eine Funktion, die die gleichen Parameter hat wie das QueryClose oder das PostSave des Dokumentes.
Sub SelectDocument(Source As Notesuidocument, Continue As Variant)
'- hier kommt Dein Code für das select hin
End Sub
Dann machst Du in Deinem Aufruf, der das neue Dokument erstellt folgendes:
set uidoc = ws.EditDocument( True , DeinNeuesDokument )
on event QueryClose from uidoc call SelectDocument
Was jetzt passiert ist:
Sobald Du das Dokument schliesst, wird Dein View- Event "SelectDocument" aufgerufen.
Diese Lösung sollte eigentlich am wenigsten "Seiteneffekte" haben, weil Du nicht die generellen Events der Maske sowieo die der Ansicht umbiegen musst (was passiert z.B. wenn Du mal 2 Ansichten hast, aus denen Dokumente erstellt werden sollen: Dann macht Dein QueryClose immer die gleiche Ansicht auf...)
HTH
Tode
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln