Autor Thema: ReadViewEntries in Lotus Script & local  (Gelesen 7599 mal)

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.873
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
ReadViewEntries in Lotus Script & local
« am: 24.07.07 - 18:41:55 »
Ich suche nach einer direkten Verbindung zwischen:

NotesUIView.CaretNoteID, wenn der Cursor auf einer Kategorie steht

und

Der Information NotesViewEntry.GetPosition( ) des entsprechenden NotesViewEntries.

Diese Verbindung kann hergestellt werden durch http://db.nsf/Ansicht?ReadViewEntries:

  <?xml version="1.0" encoding="UTF-8" ?>
- <viewentries toplevelentries="8">
- <viewentry position="1" noteid="80000004" children="2" descendants="995" siblings="8">
- <entrydata columnnumber="0" name="$77">
  <number>995</number>
  </entrydata>
- <entrydata columnnumber="1" name="$71" category="true">
  <text>aktuelle Mailingaktion</text>
  </entrydata>
  </viewentry>

Dummerweise funktioniert ReadViewEntries nur auf dem Server mit Authentifizierung, lokal nur mit Anonymous.
Jetzt suche ich eine Script- Alternative, die mir den identischen, oder zumindest ähnlichen Output liefert.

Was möchte ich dadurch erreichen:
Wenn ich in einer kategorisierten Ansicht eine Kategorie anklicke, und dann einen Agenten ausführe, dann möchte ich als Ergebnis die Kategorie bekommen, in der sich der Cursor befindet.

Es gibt zwar eine tolle Funktion "CaretCategory", die hat aber einen winzigen Nachteil. In einer solchen Ansicht:

Haupt\Unter\ganz-Unten

in der der Cursor auf "ganz-Unten" steht, liefert CaretCategory intelligenterweise nur "ganz-Unten".

Gleichzeitig gibt es keine (mir bekannte) Möglichkeit, über die uiview auf ein Notes- View- Entry- Objekt zu gelangen, das die aktuelle Cursor- Position wiedergibt. Alle Workarounds z.B. über das nächste Dokument in der Ansicht scheitern daran, dass das Dokument ja in mehreren Kategorien auftauchen kann...

Also, nochmal die Kurzfassung:

Ich suche eine Möglichkeit, um von einer "Virtuellen" NoteID (Bsp oben: 80000004) auf den passenden NotesViewEntry zu kommen.

Mein Ansatz dazu wäre eben "GetViewEntries", aber aufgerufen aus dem NotesClient mit der Berechtigung des Users...

Irgendwelche Ideen !?

Thanx
Tode
« Letzte Änderung: 26.07.07 - 22:12:58 von 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)

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.873
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: ReadViewEntries in Lotus Script & local
« Antwort #1 am: 26.07.07 - 22:12:41 »
aaargh... manchmal denkt man einfach zu kompliziert...

Falls Euch mal jemand fragt, wie man von der Cursorposition auf einen NotesViewEntry- Eintrag kommt, hier ist die genauso einfache wie geniale (IMHO) Lösung, auf die ich nur durch Zufall gekommen bin.

Das ganze hat einen Klitzekleinen Schönheitsfehler, mit dem man aber leben kann...

Jetzt zu meiner Lösung:

Wahrscheinlich jeder hat schon mal dran gedacht, dass die @DocNumber genau das wäre, was man für die exakte Identifikation der Cursorposition braucht. Dummerweise ist diese -laut Designer Hilfe- "Spezieller Text", den man nicht weiter verarbeiten kann.

ABER: @GetViewInfo ist Euer Freund.

LÖSUNG: In die Kategorisierte Ansicht eine versteckte Spalte ganz am Anfang einfügen,und daran NIX ändern.
Dann könnt Ihr mit einem Agenten über den Befehl @GetViewInfo( [ColumnValue] ; 0 ) tatsächlich deren Wert als Text bekommen, und wenn Ihr den Agenten so einstellt, dass er kein Dokument zum laufen braucht (Ziel keines), dann kriegt Ihr sogar den Wert jeder Kategorie.

Über den erhaltenen Wert (z.B. 1.1.2.3) könnt Ihr nun per Script ganz Problemlos den passenden NotesViewEntry finden....

Ich finds geil...

Der kleine "Nachteil" ist eben, dass man die Spalte in jede Ansicht einfügen muss, aus der man die Kategorien auslesen will, aber das ist wirklich ein kleiner Preis verglichen mit den Möglichkeiten, die sich einem erschliessen...

nur um mal einige zu nennen:

- alle Dokumente selektieren, die zur Kategorie bei der Cursorposition gehören
- beim Dokument erstellen quasi Werte "erben" von der gewählten Kategorie
- Komplette Kategorien exportieren
- und und und..

Vielleicht hilft's ja mal jemandem...

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)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: ReadViewEntries in Lotus Script & local
« Antwort #2 am: 26.07.07 - 22:38:33 »
Vielleicht hilft's ja mal jemandem...

Oh ja, Torsten: Herzlichen Dank, Torsten. Auch für Deine Geduld - Du zählst ja eindeutig auch zu denen, die Fragen haben, die nur wenige andere haben (und die dann auch nur sehr selten antworten können).

Bernhard

Offline 2Consultants

  • Aktives Mitglied
  • ***
  • Beiträge: 165
  • Geschlecht: Männlich
  • Don't worry be happy!
Entry finden mittels @GetViewInfo
« Antwort #3 am: 10.12.11 - 08:23:09 »
Hallo Zusammen,
Jahre später habe ich dasselbe Problem und komme mit dem Lösungansatz irgendwie nicht klar.

Torsten schreibt: "Über den erhaltenen Wert (z.B. 1.1.2.3) könnt Ihr nun per Script ganz Problemlos den passenden NotesViewEntry finden...."

D.h. ich brauche eine Such-Ansicht wo die erste Spalte auch @DocNumber berechnet und zudem sortiert ist. Dann bilde ich eine EntryCollection und suche den EntryByKey. Das funktioniert aber nicht?!

Der erste Schritt mit der eingefügten Spalte (NIX geändert) und mit @GetViewInfo( [ColumnValue] ; 0 ) den Wert (@DocNumber) als text zu erhalten funktioniert ja. Aber dann muß ich ja wieder den Entry nach diesen Wert suchen und finden und das klappt nicht (bei mir).

Vielleicht weiß jemand Rat?

Gruß
Christian
IBM Lotus Notes & Domino Senior Consultant

Glombi

  • Gast
Re: ReadViewEntries in Lotus Script & local
« Antwort #4 am: 10.12.11 - 16:34:18 »
Bitte keine alten Threads weiterschreiben sondern neue erstellen und dort ggf. auf den alten verlinken.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz