Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: RalfK am 18.01.08 - 11:19:38
-
Hallo,
ich habe folgendes Problem. Die Suchfunktion hatte leider diesmal keine passenden Antworten parat.
Ich habe eine Maske mit einem Leserfeld (mit Rollen)und einem Autorenfeld (@username). Ich habe mir nun passend zur Maske eine Ansicht gebastelt, wo der User nur seine Dokumente sehen sollte. Er bekleidet keine Rolle.
Ich habe in der Ansicht die Spalten Username, Produkt, Summe. Der Username ist kategorisiert. Das Problem ist nun, dass zwar wie gewünscht die Dokumente anderer User nicht angezeigt werden, aber dafür jeder Username und die entsprechende Summe.
Öffne ich nun die Kategorie, zeigt er nur die Dokumente des angemeldeten Benutzers an. In der Ansicht sind aber trotzdem alle anderen User sowie deren Summen sichtbar, auch wenn keine Dokumente auswählbar sind.
Wo liegt da der verflixte Fehler?
Grüße
Ralf
-
Hier liegt zwar nicht der Fehler, aber die Erklärung: http://atnotes.de/index.php?topic=29668.0 (http://atnotes.de/index.php?topic=29668.0)
-
Hast Du in der Ansicht eingestellt "Leere Kategorien ausblenden"?
Bernhard
-
versuche es doch einmal damit als Ansichtsformel:
_PERSON := @LowerCase(@Name([CN];@UserName));
SELECT @Contains(@LowerCase(@Name([CN];DeinFeldname)); _PERSON)
damit werden nur die Dokument des Users angezeigt und auch nur auf diese Dokumente summiert.
-
Nein, das stimmt nicht - derartige personalisierte Ansichten sind nicht möglich bzw. funktionieren nur lokal.
Bernhard
-
Hallo Harald,
erstmal herzlich willkommen im Forum.
Zu Deinem Vorschlag muss ich aber Bernhard 100% zustimmen, das funktioniert (auf dem Server) nicht. Wie sollte es auch, welchen Wert soll der Server beim Erstellen der Ansicht für [CN] einsetzen (seinen eingenen?)
Gruß Werner
-
Hallo Bernhard,
aber ich verwende doch diese Formel bei uns im System und das funzt einwandfrei.
-
Dann hast Du darin noch eine systemzeitbezogene Spalte, die den permanenten Neuaufbau der Ansicht erzwingt. Das wäre dann der "dirty trick" - und der funktioniert (nachweislich) nicht sicher. Von Performanceproblemen mal ganz abgesehen.
Bernhard
-
Sorry Bernhard,
aber da ist keine systemzeitbezogene Spalte in der Ansicht und Probleme gab es bisher damit noch nicht. Auch mit der Performance nicht und meiner DB arbeiten an die 200 User.
Gruß Harald
-
Damit hättest Du die Notes-Programmierung revolutioniert und eine bestimmt vierstellige Anzahl von Threads allein hier im Forum Lügen gestraft ;)
Bernhard
-
@Harald
Ich kann Bernhard und Werner nur zustimmen. Du spielst hier "Russisch Roulette".
Hier mal ein Auszug aus der Designer-Hilfe:
@UserName sollte nicht in einer öffentlichen Ansicht verwendet werden, da dies nicht vorhersagbare Resultate ergibt. Dasselbe gilt für den Fall, dass sich der Inhalt des Feldes ändert, auf das Sie sich beziehen, weil zunächst der Index aktualisiert werden muss, damit die neue Information verwendet werden kann.
Was passiert denn, wenn ein anderer User diese Ansicht öffnet?
Axel
-
Hallo,
leider ist der Urlaub vorbei. Wollte mich nur bedanken für die Tipps.
Grüße
-
Wenn @Username in Zugriffsformeln für GEMEINSAME Ansichten verwendet wird, so wird @Username beim ersten Aufbau des View-Index mit dem Wert des aktuellen Users belegt.
Das funktioniert dann scheinbar. Wenn aber ein anderen Anwender die Ansicht öffnet, so sieht er nicht seine Dokumente, denn der Index arbeitet noch mit dem Wert des anderen Users.
Auf diesem Grund soll man @Username NICHT in gemeinsamen Ansichten verwenden!
Vielleicht noch mit der Einstellung "Index nach jeder Verwendung" verwerden. Das wäre mal zu testen, aber ich traue dem Ganzen nicht über den Weg.
Andreas
-
... das ist ein Killer für die Performance - das acht man aus diesem Grund i.d.R. mit privaten Ansichten...
Toni
-
... oder mit eingebetteten kategorierten Ansichten und "Einzelne Kategorie anzeigen"