Autor Thema: selektieren des gerade erzeugten dokumentes in der view  (Gelesen 15680 mal)

Offline Snowman

  • Junior Mitglied
  • **
  • Beiträge: 67
  • Geschlecht: Männlich
hallo,

gibt es eine möglichkeit nach dem speichern eines neuen dokumentes sich dieses, nach dem schließen, in der view anzeigen zu lassen?

In einer Personenansicht, soll nach der Eingabe einer neuen Person, diese in der Ansicht nach dem Speichern selektiert sein.

Danke für Eure Hilfe
Stephan

Glombi

  • Gast
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #1 am: 06.09.10 - 14:02:29 »
Mit LotusScript so:

Call notesUIView.SelectDocument( notesdocument )


Mit Formelsprache geht es mit einem Agenten. Agent für Formelsprache erstellen die Einstellung "Dokumente ändern" verwenden.

Offline Snowman

  • Junior Mitglied
  • **
  • Beiträge: 67
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #2 am: 06.09.10 - 17:36:30 »
aber wo rufe ich diese funktion auf?

im queryclose des dokumentes komme ich nicht zum uiview...

Glombi

  • Gast
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #3 am: 07.09.10 - 08:02:30 »
Eine Idee:
Beim Schließen des Dokuments die Docid in die notes.ini schreiben. Im Postopen der View (dort gibts ja wohl die uiview) dann die Docid aus der ini lesen, die ini-Variable löschen und dann das Dokument selektieren.

Alternativ zur ini wäre ein Profil-Dok.

Andreas

Offline Snowman

  • Junior Mitglied
  • **
  • Beiträge: 67
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #4 am: 07.09.10 - 08:26:43 »
Hi Andreas,

das Dokument wird ja aus dem bereits offenen View erzeugt. Das Postopen des Views wird beim schließen des Dokumentes dann nicht mehr ausgeführt.

Ich habe die Idee mit der Doc id schon im Recalc des Views probiert. Dann muss man aber F9 drücken. Es wird der kleine blaue Pfeil zum refresh angezeigt, obwohl die View Eigenschaften auf 'sofort refreshen' stehen. (Ist das ein Notes Bug/Feature?)

Stephan

Offline Grischu

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #5 am: 07.09.10 - 09:25:08 »
aber wo rufe ich diese funktion auf?

im queryclose des dokumentes komme ich nicht zum uiview...


geht das nicht mit

uiview = workspace.currentdatabase.currentview
Twitter is eine typische Erscheinung der Generation ADS & SMS. Für einen Brief zu faul, für einen kompletten Satz zu dumm und für korrekte Grammatik zu cool.

Offline Snowman

  • Junior Mitglied
  • **
  • Beiträge: 67
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #6 am: 08.09.10 - 09:11:03 »
Wie meinst Du das?

Es gibt ein uiview=workspace.currentview
Darauf habe ich aber vom Dokument aus keinen Zugriff, das ist ja das Problem

Ein 'workspace.currentdatabase.currentview' sagt mir jetzt gar nix.

Es scheint, als gibt es vom Dokument aus keinen Zugriff auf den view, von welchem aus das Dokument geöffnet wurde. Oder?

vg
Stephan

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #7 am: 08.09.10 - 09:33:54 »
Habe ein bisschen rumprobiert und eine Lösung gefunden, die zwar funktioniert, aber ziemlich "hintenrum" ist.

Du erstellst in der Ansicht eine Schaltfläche zum Erstellen des neuen Dokuments. Diese Schaltfläche enthält (in Auszügen)

Call workspace.CurrentView.Close
Call workspace.ComposeDocument ...

Die aktuelle Ansicht wird geschlossen und das neue Dokument erstellt.

Im Queryclose der Maske schreibst Du dann ggf. die Information über das zu suchende Dokument z.B. in die notes.ini und öffnest die Datenbank wieder mit der Ansicht

Call workspace.OpenDatabase (db.Server, db.Filepath, "MeineAnsicht")

Im PostOpen der Ansicht führst Du in Abhängigkeit des ini-Eintrages

Call Source.SelectDocument (doc)

aus.

Offline Grischu

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #8 am: 08.09.10 - 15:45:53 »
Wie meinst Du das?

Es gibt ein uiview=workspace.currentview
Darauf habe ich aber vom Dokument aus keinen Zugriff, das ist ja das Problem

Ein 'workspace.currentdatabase.currentview' sagt mir jetzt gar nix.

Es scheint, als gibt es vom Dokument aus keinen Zugriff auf den view, von welchem aus das Dokument geöffnet wurde. Oder?

vg
Stephan

Sorry, mein Fehler.  Den Workspace.Currentview meinte ich. 
Hatte wohl mein Hirn noch nicht richtig hochgefahren nach dem Urlaub  ::)
Twitter is eine typische Erscheinung der Generation ADS & SMS. Für einen Brief zu faul, für einen kompletten Satz zu dumm und für korrekte Grammatik zu cool.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #9 am: 08.09.10 - 15:53:22 »
Vielleicht sollten wir mal sicherheitshalber über das rein technische Prinzip hinausgehen: Was soll denn mit dieser Selektion überhaupt erreicht werden? Von dem ggf. für den User gar nicht sichtbaren Haken hat dieser ja in der Regel nichts.
Nicht, dass da in Wirklichkeit etwas ganz anderes erreicht werden soll ...

Bernhard

Offline Snowman

  • Junior Mitglied
  • **
  • Beiträge: 67
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #10 am: 08.09.10 - 16:41:37 »
Das Ziel soll sein, wenn in einer Adressdatenbank z.B. ein neuer Name eingegeben wird,  im darunterliegenden View (von wo aus das neue Dok erzeugt wurde) der Cursor auf dem neuen Dokument steht.
Damit der User nicht das neue Dokument erst wieder suchen muss.

Stephan


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #11 am: 08.09.10 - 17:07:35 »
Genau das hatte ich befürchtet. Markieren kannst Du, aber dort hinspringen, das geht nicht.

Bernhard

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #12 am: 08.09.10 - 17:24:22 »
... Markieren kannst Du, aber dort hinspringen, das geht nicht.
Also die von mir unter #7 gepostete Lösung setzt die Markierung (also den Rahmen um das Dokument, kein Haken vor dem Dokument) genau auf das Dokument. Das Dokument ist dann auch sofort sichtbar, selbst wenn soviele Dokumente in der Ansicht sind, dass gescrollt werden müsste.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #13 am: 08.09.10 - 17:42:13 »
Interessant, Peter. Funktioniert das auch in jeder Version? Frühere Tests mit diesem oder einem sehr ähnlichen Verfahren (auf jeden Fall mit NotesUIView.SelectDocument) wurde die Ansicht so wieder geöffnet, wie sie verlassen wurde - egal, wo das markierte Dokument sich befand.

Das NotesUIView.Close kann natürlich auch ein Killerkriterium sein - wenn man jetzt bei der Eingabe fix ein anderes Dokument zum Vergleich sucht, müsste man eine neue Instanz mit der View aufmachen. Der Effekt, der dann beim Schliessen des neuen Dokuments auftritt, könnte auch interessant werden.

Ich denke, da gibt es eine Menge Fallstricke und Wenns und Abers. Schauen wir mal, was Stephan noch so schreibt.

Bernhard

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #14 am: 08.09.10 - 19:23:14 »
Funktioniert das auch in jeder Version?
Keine Ahnung. Unter 7.03 funktioniert es, allerdings ist die Testansicht auch nicht kategorisiert, was vielleicht auch noch ein Problem geben könnte. Ist halt nur eine Anregung ...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #15 am: 08.09.10 - 21:56:40 »
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

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #16 am: 09.09.10 - 07:36:11 »
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.

Offline Snowman

  • Junior Mitglied
  • **
  • Beiträge: 67
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #17 am: 09.09.10 - 08:36:17 »
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

Offline Snowman

  • Junior Mitglied
  • **
  • Beiträge: 67
  • Geschlecht: Männlich
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #18 am: 09.09.10 - 23:19:24 »
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

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: selektieren des gerade erzeugten dokumentes in der view
« Antwort #19 am: 16.09.10 - 15:30:07 »
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
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz