Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Widowmaker am 27.09.04 - 07:35:27
-
Hallo ich bin´s mal wieder ich hab noch eine 2. Frage?
Ich hab die Navigatoren jetzt User abhängig gemacht möchte jetzt aber auch das nur Mitarbeiter aus bestimmten Bereichen die Laufzettel aus ihren Bereichen sehen können.
z.B.: Ein Mitarbeiter aus dem LHB soll in seiner Ansicht wo gespeicherte Laufzettel zu sehen sind auch bloß die Laufzettel aus dem LHB sehen kann.
Wäre für eure Hilfe sehr Dankbar!!!!!!!!!!!
-
Ich bin noch nicht so lange dabei, deswegen meine Rückfrage:
Was sind Laufzettel ?
Was ist LHB ?
Aber vielleicht machst Du eine DB mit einer View pro Bereich
und vergibst Rollen die die Sichtbarkeit einer View steuern.
Das unelegante ist, das ist dann hardkodiert und wenn ein
User den Bereich wechselt, dann muß der Admin in die Verwaltung.
Das Elegante, solche View sind perfomanter als eingebette
Ansichten, das Ganze ist schnell entwickelt und
es lassen sich leichter Aktionen realisieren die auf eine
Menge Dokumente (Laufzettel?) ausgeführt werden sollen.
Ciao
Don Pasquale
-
Also Laufzettel sind Dokumente wo bestimmte sachen über mitarbeiter die den bereich wechseln oder ausscheiden festgehalten werden.
Lhb ist ein Betriebsteil bei uns!
So das mit der View musst du mir genauer erklären wo erstelle ich diese und wieleicht eine bespiel wär nocht schlecht
Mfg Widowmaker
-
Ich gehe mal davon aus, dass alle User, die bestimmte Laufzettel lesen dürfen, in jeweils einer Gruppe im NAB hinterlegt sind. Wenn dem so ist, dann erstelle ein Feld in der Maske, in dem du über einen DBLookup die Gruppenmitglieder auflöst und diese in ein Leserfeld überträgst.
In der Ansicht haben die User dann nur Zugriff auf die Dokumente die von Benutzern aus der eigenen Gruppe angelegt wurden.
-
Also ich habe rollen für die einzelnen Betriebe und habe diesen Rollen die Benutzer zugeordnet!
Soll es dann so aussehen,
@DbLookup( Klasse : "NoCache" ; Server : Datenbank ; Ansicht ; Schlüssel ; SpaltenNr )
aber wo trage ich das beim dem Feld ein??
Mfg Widowmaker
-
Lieber Widowmaker
Ich habe einen Wunsch: bitte wähle den Titel jeweils so, dass er Bezug nimmt auf das Problem, das Du stellen möchtest. Neue Woche, Neue Frage hat nun wirklich mit dem Inhalt gar keine Beziehung.
Was Zugriffe anbelangt, der Vorschlag mit verschiedenen Ansichten ist sicher gut. Ansonsten schau Dir doch mal diesen Artikel über Zugriffsrechte (http://www.atnotes.de/index.php?topic=13534.0) an.
-
Hallo Semeaphoros
sorry für den doof gewählten Titel :-[ich werde mr merken das die nächsten Titel den themenpunkten nah sind
Mfg Widowmaker
-
Folgender Ansatz wäre eine Möglichkeit:
Feld "User" mit @name([CN];@UserName)
Feld "Abteilung" mit folgendem Wert:
prüf:=User;
@DbLookup("";"Server":"names.nsf";"<Ansicht im NAB mit 1. Spalte User und 2. Spalte Gruppe>";prüf ;2));
Erstelle ein Feld "XY" und als Wert kannst du folgende Formel hinterlegen und ein Feld in der die Abteilungsgruppe
@DbLookup("";"SERVER" : "Names.nsf"; "Groups"; Abteilung;"Members")
und du bekommst alle User der Gruppe aufgelistet.
-
Ok also wir reden jetzt von dieser Formel:
@DbLookup("";"SERVER" : "Names.nsf"; "Groups"; Abteilung;"Members")
aber was haben die Teile Groups, Abteilung Member hier zu suchen
und die zwiete sache ist die ich will nicht alle user der gruppe aufgelistet haben sondern ich will das die user die Der Rolle LHB zugeordnet sind auch nur laufzettel vom LHB sehen können und auch auswählen
Mfg Widowmaker
-
Also....
Dann arbeite doch mit `nem Leserfeld und füge die entsprechende Rolle beim Speichern hinzu. Führt dich das zum Ziel?? Ansonsten musst du dein Problem etwas detaillierter schildern
-
Meine ich auch, Leserfelder und den hervorragenden Artikel von Matthias hinzuziehen, siehe mein letztes Posting
-
Also genauer Beschreiben ok ich hoffe Das is genau genug für dich:
1. Ich Starte die Datenbank Laufzettel
2. Die Datenbank öffnet sich links mein Navigator bi dem u mir ge-holfen hast (Danke nochmals!!), Rechts daneben die Ansicht aller Laufzettel wo man durch Doppelklick einen gespeicherten Laufzettel öffnen kann
3. Die Spaltenname lauten Personalnummer, Vorname, Name, Ereignis und Betriebsbereich
4. Ich habe die Rollen: Admin und User (ür den Navigator) und die Rollen SME, LHB, MCB, IAB (sind jeweils Betriebsbereiche) definiert
ich möchte das ein User z.B. aus dem Bereich LHB auch nur Laufzettel aus seinem Bereich LHB in dieser Ansicht sieht und auswählen kann
Mfg Widowmaker
-
Ich sags auch zum drittenmal: Leserfelder
-
Versuch`s doch einfach mal indem du beim Speichern das Leserfeld füllst:
FIELD Leser:="LocalDomainServers":"[LHB]":"[Admin]"
-
Also Feld Erstellen als TYP Leser auswählen und wie weiter?
Mf Widowmaker
-
Wenn der Feldname "Leser" ist, dann kannst du die o.a. Formel beim Speichern nutzen.
-
Aber wie Funktioniert das wenn der user aus dem SME ist du hast doch in der Formel LHB fest vergeben
Mfg Widowmaker
-
Wenn du es etwas dynamischer haben willst, kannst du mit `ner IF-Abfrage arbeiten:
@If(@IsMember("[Admi]";@UserRoles); @SetField("Leser";"[Admi]":"LocalDomainServers");"");
....und das kannst du deinen Gegebenheiten entsprechend anpassen
-
ok der erste Teil der Formel is mir klar
@If(@IsMember("[LHB]";@UserRoles); z.B.
aber der zweite Teil leuchtet mir noch nicht ein
@SetField("Leser";"[Admi]":"LocalDomainServers");"");
ich habe ein Feld erzeut und Leser genannt
muss in das Feld was eingetragen werden um die Formel zu erfüllen?
Mfg Widowmaker
-
Durch die Formel wird das Feld gefüllt. Du musst das natürlich noch für deine Rollen anpassen, sollte aber funzen.
-
Ok wie gesagt Feld erstellt Formel eingetragen hab für die beiden admi Lhb eingetragen LocalDomainSevers weis ich nich ob das auch noch ersetzt werden muss oder nich gespeichert und DB gestart will Über die Ansich eins auswählen erstmal sehe ich alle domumente und keins läst sich öffnen
Meine Formel:
@If(@IsMember("[LHB]";@UserRoles); @SetField("Leser";"[LHB]":"LocalDomainServers");"")
Fehlermeldung:
Feld: 'Leser': Der in @SetField definierte Variablenname muß vor dem Gebrauch deklariert werden. Um ihn zu deklarieren, setzen sie Field Feld!
Mfg Widowmaker
-
Setz mal folgendes vor die Formel
Field Leser := Leser
-
Jetzt Bringt er zwar keinen Fehler mehr aber gebracht hat es auch nichts ich hab meinem User die Rolle LHB zugeordnet aber trotzdem seh ich alle anderen Laufzettel von SME, MCB usw. auch und kann sie auch öffnen
Mfg Widowmaker
-
Ist doch klar!! Als die Dokumente erstellt wurden, gab es diese Formel und das Leserfeld doch noch gar nicht, oder? ;D
Ist die Rolle im Dok hinterlegt?? Kannst du die Doks den Rollen zuordnen??
Dann pack die Formel in einen Agenten und lass diesen (natürlich an die Dokumente angepasst) über die alten Doks laufen.
-
auf die Idee bin auch schon gekommen hab mal test weise 2 neue Zettel erstellt das selbe in grün ich sehe sie und ich kann sie öffnen und bearbeiten!
Als einziges bekomm ich jetzt wo das Feld Leser steht einen Schriftzug
[LHB]; LocalDomainServers
Mfg Roellchen
-
Du hast oben geschrieben, dass du dir die Rolle zugeordnet hast, also darfst du auch lesen..... 8)
-
aber ich habe ein Laufzettel für IAB gelesenund keins für LHB
Mfg Widowmaker
-
Liegt die Datenbank auf einem Server ? Ist die konsistente ACL aktiviert ?
Sonst wirst Du Probleme mit den Leserfeldern bekommen.
-
Du hast für IAB gelesen, weil du wahrscheinlich durch die Formel der Rolle LHB Leserechte gegeben. Dann kannst du IAB lesen.
-
Ich weiss zwar nicht wie das klappen soll das ich durch die Frmel für Rolle LHB IAB lesen kann, aber hättest du auch eine Lösung wie ich das verhindere
Mfg Widowmaker