Autor Thema: [gelöst] Ansicht filter nach Kriterium "notesname = notesname eingeloggter User"  (Gelesen 5345 mal)

Offline two7

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Hallo zusammen,

vielleicht kann mir einer von euch helfen.

In meiner Datenbank werden mit dem Speichern eines Dokumentes der Notesname mit abgespeichert.

Eine Ansicht soll mir alle Dokumente gefiltert nach

   => "hinterlegter Notesname aus einem Dokument = Notesname des eingeloggten Users"

anzeigen. Prinzipiell kein Problem. Mein Code sieht in der Ansicht folgendermaßen aus:

Code
SELECT (Form="dokument") & (@Name([CN];dokuser) = @Name([CN];@UserName))

Zwei Konstellationen ergeben sich nun bei der Darstellung der Daten.

  • Bin ich mit einer UserID angemeldet, die als "dokuser" in einigen Dokumenten hinterlegt ist, zeigt mir die Ansicht NICHTS an.
  • Öffne ich als Admin der DB die Ansicht, sehe ich Dokumente, obwohl mein Notesname in keines der Dokumente hinterlegt ist.


Dies lässt mich vermuten, dass @Name([CN];dokuser <> @Name([CN];@UserName)) ist. Zur Kontrollen habe ich mir die Werte in zwei Spalten ausgegeben. Der erste Blick, alles gleich.

Hilfe ???  :-[
« Letzte Änderung: 02.09.09 - 13:05:57 von two7 »

BigWim

  • Gast
Zitat
When a formula runs on a server, the agent signer is considered the current user. Using @UserName on a local database or in a private view in a server-based database returns the user's name. You should not use @UserName in a public view, doing so produces unpredictable results. Also, if the field that you are referencing changes, you will get unpredictable results because the index has to be rebuilt to accommodate the new information.

Schmeiß mal die Suchmaschine an. Hier im Forum wurde schon oft die Richtigkeit der Designer-Hilfe bestätigt, dass @UserName nicht in Ansichten benutzt werden sollte. Die Ergebnisse sind "unvorhersehbar". Ich wollte es auch nicht glauben. Anfangs sah es recht gut aus, aber die Erfahrung lehrt etwas anderes ....

Markus

klaussal

  • Gast
Aus der Designer-Hilfe:

Zitat
@UserName sollte nicht in einer öffentlichen Ansicht verwendet werden, da dies nicht vorhersagbare Resultate ergibt.

Offline joan

  • Junior Mitglied
  • **
  • Beiträge: 60
Das kann aus eigener Erfahrung nur bestätigen  ;D.

Der Server kann den Index nur für einen Usernamen aufbauen und da der Index gecacht wird, gibt das zwangsläufig Probleme, wenn mehrere Anwender auf die gleiche Datenbank zugreifen. Man könnte das zwar lauffähig bekommen, indem man den Server dazu zwingt, den Ansichtsindex jedesmal neu aufzubauen (bspw. durch ein @Now in einer versteckten Spalte), aber das geht natürlich massiv auf die Performance. Die problemloseste Variante ist da noch ein privater Order.

Offline two7

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Tja ... wer lesen kann ist klar im Vorteil!

Danke für die prompte Hilfe.
Habe es nun über eine eingebettete Ansicht gelöst.

thx.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz