Autor Thema: Abschnitt nicht anzeigen  (Gelesen 7851 mal)

Offline sammy561

  • Frischling
  • *
  • Beiträge: 22
Abschnitt nicht anzeigen
« am: 15.12.10 - 12:00:58 »
Hallo,

und schon habe ich das nächste Problem.

In meiner Datenbank sollen Kundeninformationen als Info für unsere Führungsebene eingegeben werden, die dann von unserer Führungsebene bewertet werden.

Nun ist es so, dass diese Informationen teilweise so geheim sind, dass nur der Autor des Dokumentes und die Führungsebene diese information sehen darf.

Ich habe es auf folgende Weise versucht:

Die Tabelle zur Eingabe der Infos habe ich in einen zugriffskontollierten Abschnitt gepackt

Nun wollte ich über "Absatz verbergen wenn,..." den Abschnitt ausblenden, sobald der User, der das Dokument öffnet nicht der Autor ist oder nicht die Rolle Vorstand hat.

Ich kann da eingeben was ich will, der Absatz bleibt sichtbar.


Vielleicht hat ja jemand die Lösung parat.

Danke


Gruß


Ansgar

Offline Klaas

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
Re: Abschnitt nicht anzeigen
« Antwort #1 am: 15.12.10 - 12:33:00 »
Was hast du den eingegeben?

So klappt es bei mir:
@If(@IsMember("[VergabeNummern]";@UserRoles)=0;@True;@False)

Grüße aus dem verschneiten Norden

Klaas

Offline sammy561

  • Frischling
  • *
  • Beiträge: 22
Re: Abschnitt nicht anzeigen
« Antwort #2 am: 15.12.10 - 12:49:25 »
Hallo Klaas,

Danke für deine Antwort.


die Mitte ist auch verschneit  ;).

Wenn es nur um die Zugriffsteuerung über Rollen ginge klappt das. Allerdings muss ich ja auch diejeniegen "ausperren". die normal Autorrechte auf den Abschnitt haben aber nicht Autor von diesem Dokument sind.

Gruß

Ansgar

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Abschnitt nicht anzeigen
« Antwort #3 am: 15.12.10 - 13:27:45 »
Hallo,

Zugriffskontrollierter Abschnitt.
Ich wuerde es so realisieren.

- verstecktes Feld am Anfang des Dokumentes erstellen (Typ: Namen)
(Feld ist berechnet zur Anzeigeund Mehrfachwerte)

- bei einem neuen Dokument wird nichts in dieses Feld eingetragen

- ein vorhandes Dokument
Ist in einem Feld des betreffenden Abschnittes etwas eingetragen
=> Zugriff berechnen
!@IsMember("[Role]";@UserRoles) | @Name([ABBREVIATE]; @UserName) <> @Name([ABBREVIATE]; "Feld mit Name des Autors")

Den Inhalt dieses Feldes, der ja nun bei jedem oeffnen des Dokumentes neu berechnet wird, dann dazu verwenden, die Zugriff auf den Abschnitt zu steuern.


Andreas

P.S.:
Auch der Sueden ist verschneit.
« Letzte Änderung: 15.12.10 - 13:29:54 von ascabg »

Offline sammy561

  • Frischling
  • *
  • Beiträge: 22
Re: Abschnitt nicht anzeigen
« Antwort #4 am: 15.12.10 - 13:39:15 »
Ja ist den heut schon Weihnachten?  ;D ;D ;D ;D ;D

Das klappt Andreas. Ich bin begeistert und danke Dir.

Du hast mir gerade meinen Abgabetermin gerettet.

Gruß

Ansgar

Offline sammy561

  • Frischling
  • *
  • Beiträge: 22
Re: Abschnitt nicht anzeigen
« Antwort #5 am: 16.12.10 - 10:16:39 »
Weihnachten wird doch nochmal verschoben  :-\

Der Abgleich zwische Autor und User klappt prima, aber sobald ich auf die Rolle auch abfrage kann wieder jeder alles sehen.

Ich hab es schon mit 2 versteckten Feldern versucht. In Feld 1 wird abgefragt, ob der User die Rolle hat. Hat er sie nicht soll der Wert 1 in das Feld geschrieben werden, sonst eine 0. In Feld zwei wird abgefragt, ob der User ungleich dem Autor ist. Sind sie gleich eine1 sonst 0. Nur komischerweise ändern sich die Werte in den Feldern nicht.

Irgentwo habe ich einen ganz dicken Denkfehler. Es liegt auch bestimmt auch daran, dass ich seit 4 Jahren keine Anwendung mehr in Notes geschrieben habe.

Ihr könntet einen alten Admin echt glücklich machen, wenn ihr eine Lösung hättet.

BigWim

  • Gast
Re: Abschnitt nicht anzeigen
« Antwort #6 am: 16.12.10 - 10:41:28 »
Zitat
Der Abgleich zwische Autor und User klappt prima, aber sobald ich auf die Rolle auch abfrage kann wieder jeder alles sehen.
Das kenn ich. Das wird sicher in Denkfehler in der und/oder Verknüpfung der if-Abfrage sein ;)
Vielleicht kannst Du das ja noch einmal posten ....


Zitat
Weihnachten wird doch nochmal verschoben
Das will ich Dir ja nicht ganz versauen, aber Du weißt doch noch, dass man über die Eigenschaften in jedes "Feld gucken" kann, oder? Ich hoffe, dass diese seniblen Daten per Formel gezogen werden ....

Markus

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Abschnitt nicht anzeigen
« Antwort #7 am: 16.12.10 - 10:56:34 »
Hallo,

Wie erfolgen denn die Abfragen?

Und was steht in den Feldern, die bei der Abfrage herangezogen werden?


Andreas

Offline sammy561

  • Frischling
  • *
  • Beiträge: 22
Re: Abschnitt nicht anzeigen
« Antwort #8 am: 16.12.10 - 11:30:49 »
Hallo Markus,

ich weiss, dass man über die Eigenschaften jedes Feld anschauen kann. Aber ausser mir weiss das nur noch der zweite Notesadmin hier im Haus. Und der kann schweigen  ;). Nein, im Ernst das vernachlässige ich jetzt mal. Ich habe versucht, den Zugriff auf einen Abschnitt mit folgender Formel zu begrenzen:

@!IsMember("[Vorstand]";@UserRoles)| @Name([Abbreviate]; @UserName) != @Name([Abbreviate]; "Autor")

(Vorschlag von Andreas, Danke nochmal)

Lass ich den Teil mit der Rolle weg, klappt es prima. wenn ich nicht Autor bin kann ich den Abschnitt auch nicht öffnen. Lass ich den Teil mit der Rolle drin darf jeder alles öffnen.




Offline sammy561

  • Frischling
  • *
  • Beiträge: 22
Re: Abschnitt nicht anzeigen
« Antwort #9 am: 16.12.10 - 11:35:04 »
Hallo Andreas,

Ich habs über zwei berechnete Felder versucht:

Feld1: @If(@IsMember("[Vorstand]";@UserRoles)=0;@True;@False)

Feld2: @If(@Name([Abbreviate]; @UserName) != @Name([Abbreviate]; "Autor")=0;@True;@False)

ich hab dann gedacht ich könnte über die Summe der beiden Feldwerte den Zugriff auf den Abschnitt begrenzen. Nur gibt mir Feld1 immer den Wert 1 zurück egal ob ich die Rolle habe oder nicht. Und Feld zwei gibt immer 0 zurück, egal ob ich ein Dokument öffne das ich angelegt habe oder jemand anderes.

Vielleicht habe ich ja auch deinen Vorschlag von gestern einfach falsch umgesetzt. Wie gesagt ich hab 4 Jahre nix in Notes programmiert. Da fängt man fast bei 0 wieder an.

Gruß
Ansgar

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Abschnitt nicht anzeigen
« Antwort #10 am: 16.12.10 - 11:58:45 »
Die Datenbank befindet sich aber schon auf einem Server?

Andreas

BigWim

  • Gast
Re: Abschnitt nicht anzeigen
« Antwort #11 am: 16.12.10 - 12:03:41 »
Da @IsMember eh 0 oder 1 zurückgibt, hätte ich im Feld 1 nur das hier geschrieben.

Code
@IsMember("[Vorstand]";@UserRoles)

Und wenn dann noch mal eine Rolle dazukommt, gibt es Probleme. Hier im Forum gab es mal eine nette Anleitung (die ich aber so auf die Schnelle nicht gefunde habe). Auf jeden Fall habe ich mir daraufhin folgendes angewöhnt und bin bestens gefahren:

Feld 1=
Code
@UserRoles *= "[Vorstand]"

Zitat
Nur gibt mir Feld1 immer den Wert 1 zurück egal ob ich die Rolle habe oder nicht
Kenn ich auch. Das kann auch ein Cache-Problem sein. Ich dachte, ich hätte mir die Rolle wegnommen, hatte Sie aber tatsächlich noch. Vielleicht prüfst doch auch noch mal in diese Richtung ...

Markus

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Abschnitt nicht anzeigen
« Antwort #12 am: 16.12.10 - 12:12:52 »
Wen ich an meinen rechten etwas aendere, dann sollte ich mich auch schon einmal neu am Server anmelden (LN-Passwort eingeben).

Zumindest F5 und dann neu anmelden.
Die betreffende Datenbank sollte ebenfalls noch einmal neu geoeffnet werden.


Andreas

BigWim

  • Gast
Re: Abschnitt nicht anzeigen
« Antwort #13 am: 16.12.10 - 12:21:30 »
Genau - aber da ich meistens nicht daran denke, vor dem Öffnen der Datenbank noch einmal in die Statusleiste zu klicken (Sicherheit), habe ich immer ein Feld, berechnet zur Anzeige, welches mir die aktuellen Rollen anzeigt ;)

Markus

Offline sammy561

  • Frischling
  • *
  • Beiträge: 22
Re: Abschnitt nicht anzeigen
« Antwort #14 am: 16.12.10 - 12:51:18 »
Hallo Andreas,

ich hab Notes komplett geschlossen und mich neu angemeldet. Leider kein positiver Effekt

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Abschnitt nicht anzeigen
« Antwort #15 am: 16.12.10 - 13:00:09 »
Nach nochmaligem Ansehen Deiner beiden Formeln fuer die Felder.

Zitat
@If(@IsMember("[Vorstand]";@UserRoles)=0;@True;@False)
=0 kann getrost entfallen

Zitat
@If(@Name([Abbreviate]; @UserName) != @Name([Abbreviate]; "Autor")=0;@True;@False)
@If(@Name([ABBREVIATE]; @UserName) != @Name([ABBREVIATE]; Autor); @True; False)
sofern Autor ein Feld ist.


Andreas

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Abschnitt nicht anzeigen
« Antwort #16 am: 16.12.10 - 14:02:47 »
Ist mir doch gerade noch eingefallen.

In dem Teil Deiner Abfrage, ist der Name aus dem Feld ungleich dem des aktuellen Benutzers, steht offensichtlich der Name des Autors im Feld "Autor".

Wen Du mit der @-Formel @Name([]; ...) den Namen umwandelst, darf der Name des Feldes, aus dem Du den Wert ausliest nicht in Anfuehrungszeichen stehen.

Richtig waere in dem Fall also
Code
@!IsMember("[Vorstand]";@UserRoles)| @Name([Abbreviate]; @UserName) != @Name([Abbreviate]; Autor)

Andreas

Offline sammy561

  • Frischling
  • *
  • Beiträge: 22
Re: Abschnitt nicht anzeigen
« Antwort #17 am: 16.12.10 - 14:25:52 »
Hallo Andreas,

Da hab ich doch wieder was gelernt  ;D. Der Teil klappt jetzt.


Ich danke Dir

Offline sammy561

  • Frischling
  • *
  • Beiträge: 22
Re: Abschnitt nicht anzeigen
« Antwort #18 am: 16.12.10 - 15:12:47 »
Allerdings muss ich die Abfrage erst anstupsen.

Ich habe mir ein verstecktes Feld erstellt und ihm den Wert 1 gegeben.
Die Abfrage starte ich mit: Wenn das Feld ungleich 0 dann frag ab. Und siehe es funktioniert.

Wahrscheinlich stehen jetzt allen Notesprofis die Haare zu Berge  ;).

Ich hab dann versucht die Abfrage auf die Rollenzugehörigkeit genauso zu starten aber da klappts nicht.

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Abschnitt nicht anzeigen
« Antwort #19 am: 16.12.10 - 15:16:35 »
Allerdings muss ich die Abfrage erst anstupsen.

Ich habe mir ein verstecktes Feld erstellt und ihm den Wert 1 gegeben.
Die Abfrage starte ich mit: Wenn das Feld ungleich 0 dann frag ab. Und siehe es funktioniert.

Wahrscheinlich stehen jetzt allen Notesprofis die Haare zu Berge  ;).

Ich hab dann versucht die Abfrage auf die Rollenzugehörigkeit genauso zu starten aber da klappts nicht.

Ähm, was musst du wo anstupsen?  Ich versteh' grad Bahnhof.

Kannst du das bitte mal ein bisschen genauer erklären.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz