Beschränken des Zugriffs auf RLS-Datensatzebene. RLS – flexible und feine Anpassung von Datenzugriffsbeschränkungen Vorlagen zur Einschränkung von Zugriffsrechten 1c

Der RLS-Mechanismus in 1C (Zugriffsbeschränkungen auf Datensatzebene) ermöglicht es dem Entwickler, seine eigenen Auswahlen und Bedingungen direkt auf Datenbanktabellen festzulegen. Solche Einschränkungen können beim Lesen, Hinzufügen, Ändern und Löschen gelten.

Der Hauptnachteil der Methode ist die Verringerung der Leistung des Gesamtsystems. Der Punkt ist, dass den Hauptabfragen zusätzliche Auswahlmöglichkeiten hinzugefügt werden, die Daten dynamisch abrufen. Jedes Mal, wenn der Benutzer auf Daten in der Infobase zugreift, die einer Einschränkung unterliegen, führt das Programm eine Überprüfung durch, indem es eine Abfrage ausführt.

Trotz dieses erheblichen Nachteils ist der RLS-Mechanismus recht praktisch und flexibel. Mit seiner Hilfe können Sie das System so konfigurieren, dass kein einziger Benutzer etwas „Unnötiges“ sieht. Den Zugriff Ihrer Mitarbeiter einzuschränken, insbesondere wenn es viele davon gibt, ist sehr produktiv. Es geht nicht so sehr um Misstrauen, sondern um den Schutz vor zufälligen Fehlern und dem menschlichen Faktor. Je weniger Daten verfügbar sind, desto einfacher ist es, damit zu arbeiten und nicht verwirrt zu werden.

In einem unserer Artikel haben wir das Thema Zugriffsbeschränkung auf Datensatzebene bereits teilweise angesprochen. In diesem Fall wird über eine tiefergehende Konfiguration seitens des Entwicklers nachgedacht.

Konfigurieren von Zugriffsbeschränkungen auf Einstiegsebene

Die Konfiguration und Entwicklung des Radars erfolgt im 1C-Konfigurator. Erstellen Sie dazu zunächst eine Rolle im Metadatenzweig.

Auf der Registerkarte „Constraint-Vorlagen“ können Sie eine oder mehrere solcher Vorlagen erstellen. Äußerlich unterscheiden sie sich praktisch nicht von den üblichen Anfragen.

Gehen Sie anschließend auf den Reiter „Rechte“ der Rolle, für die Sie eine Einschränkung festlegen möchten. Der Einfachheit halber können Sie den Abfrage-Designer verwenden, der nur zwei Registerkarten „Tabellen und Felder“ und „Bedingungen“ hat.

Wie Sie im Bild unten sehen können, haben wir nur eine Einschränkung mit Text hinzugefügt:

WHEREProductGroup = &ProductGroup

Wenn der Benutzer auf das Verzeichnis „Nomenklatur“ zugreift, fügt das Programm daher allen Anfragen eine Zeile mit dieser Bedingung hinzu.

Eine Rolle ist ein Metadatenobjekt, das bestimmt, welches Objekt und welche Aktionen ein bestimmter Benutzer für dieses Objekt ausführen kann. Jede Rolle enthält Rechte und abhängig davon, welche Rechte der Datenbankadministrator festlegt, kommt es zu Zugriffsbeschränkungen. Die Technologieplattform bietet zwei Arten von Rechten: grundlegende und interaktive. Unter „Grundlegend“ verstehen wir die Rechte zum Lesen, Ändern, Hinzufügen und Löschen. Interaktive Aktionen werden nur ausgeführt, wenn Vorgänge wie Bearbeiten oder Löschen im Formular ausgeführt werden: Interaktives Löschen, Interaktives Hinzufügen und andere.

Auf diese Weise können Sie den Zugriff auf ein bestimmtes Verzeichnis, ein Dokument oder ein anderes Metadatenobjekt endgültig und in seiner Gesamtheit freigeben. Sie können Zugang gewähren oder wegnehmen. Du wirst nicht in der Lage sein, wenig zu geben. Es kommt jedoch häufig vor, dass beispielsweise ein riesiges Verzeichnis vorhanden ist und jeder Benutzer darin nur bestimmte Elemente sehen sollte. Das heißt, gemäß einer bestimmten Bedingung muss die Auswahl von Objektelementen erfolgen! Und ab der Version der 1C 8.1-Technologieplattform erschien ein sehr leistungsfähiger Mechanismus zur Beschränkung des Zugriffs auf Daten auf Datensatzebene namens RLS (Record Level Security). Einschränkungen sind eine Reihe spezifischer Bedingungen, die, wenn sie erfüllt sind, den Zugriff gewähren oder nicht.

Zugriffsbeschränkungen bei Verwendung eines dynamischen RLS-Systems gelten für die Grundoperationen: Lesen, Ändern, Hinzufügen und Löschen. Es gibt eine wichtige Funktion: Auf den Lesevorgang können mehrere Einschränkungen auf Datensatzebene angewendet werden, während für alle anderen Vorgänge nur eine Bedingung gilt. Mit diesem Mechanismus können Sie Einschränkungen nicht nur für bestimmte Datensätze, sondern auch für bestimmte Datensatzfelder festlegen. An dieser Stelle müssen Sie möglicherweise ein Feld sowie ein spezielles Feld angeben<Прочие поля>.

RLS-Syntax und -Sprache

Die Data Constraint Language ist nichts anderes als eine Abfragesprache, allerdings stark reduziert. Wenn die Bedingung TRUE ergibt, wird dem aktuellen Benutzer Zugriff auf die Daten gewährt. Wenn FALSE, wird der Zugriff verweigert. Was sind die Hauptunterschiede zu einer vollwertigen Abfragesprache?

In einer RLS-Abfrage ist immer nur eine Datentabelle vorhanden, die tatsächlich für Bedingungen verwendet wird.
Es werden nur die Konstruktionen FROM und WHERE verwendet.
In solchen Fällen können Sie Funktionsoptionen und Sitzungsparameter als Abfrageparameter angeben.
Die Verwendung virtueller Tabellen ist nicht gestattet.
Es ist möglich, Vorlagen zum Erstellen von Einschränkungen zu verwenden
Die Operatoren TOTAL und IN HIERARCHY sind nicht anwendbar.

Überlegen Sie, wie Sie Einschränkungen schaffen. zum Beispiel in Abb. 1 zeigt die einfachste Einschränkung. Es besteht darin, dass dem Benutzer nur eine Gegenpartei mit einem bestimmten Namen „Sibirskaya Korona LLC“ angezeigt wird. Sie können nach einem bestimmten Feld filtern. Wir möchten beispielsweise, dass der Benutzer nur Auftragnehmer sieht, die sich im übergeordneten Ordner „Mitarbeiter“ befinden.

Der Einschränkungstext kann manuell oder auch mit dem üblichen Abfrage-Builder eingegeben werden. Auch in diesem Fall ist der Abfragedesigner nicht vollständig, sondern mit Einschränkungen für RLS ausgestattet. Sie können auch beliebige &-Parameter an die Einschränkungsanforderung übergeben.

Wie Einschränkungen funktionieren

Bei der Verwendung von RLS kann es vorkommen, dass der Benutzer eine Fehlermeldung erhält, die darauf hinweist, dass er nicht über ausreichende Rechte verfügt. Dies kann an der Art und Weise liegen, wie die Beschränkungen funktionieren.

  • ALLE. Das heißt, beim Auferlegen von Einschränkungen wird der Vorgang für alle erforderlichen Datenbankdaten ausgeführt. Wenn jedoch beim Lesen und Ändern von Daten die Einschränkungen für einige Datensätze nicht eingehalten werden, kommt es aufgrund einer Verletzung der Zugriffsrechte zu einem Notfallfehler.
  • ERLAUBT. Eine Vorgehensweise, bei der aufgrund der Auferlegung von Einschränkungen nur die Datensätze gelesen werden sollen, die die Bedingungen erfüllen. In diesem Fall liegen keine Notausfälle vor. Objekte, die den Anforderungen nicht entsprechen, gelten als fehlend.

Die ALLOWED-Methode wird sehr häufig bei der Generierung dynamischer Listen verwendet, da es sonst ständig zu Fehlermeldungen über Rechtsverletzungen kommen würde. Die ALL-Methode wird beim Abrufen von Objekten durch integrierte Sprach- und Abfragefunktionen verwendet. Wo sind diese Methoden eigentlich installiert? Der Standardwert ist ALLE.

Verwendung von Vorlagen in RLS

Um die Verwendung von Einschränkungen komfortabler zu gestalten, bietet das 1C Enterprise-System die Verwendung von Vorlagen. Das heißt, wenn Sie dieselbe Einschränkung verwenden oder wissen, dass sie sich nur in einigen Parametern unterscheidet, erstellen Sie Ihre eigene Vorlage. Daher können Sie den sich wiederholenden Einschränkungscode im Allgemeinen als Prozedur entwerfen. Die Vorlage verfügt über einen Namen und einen Text. Der Text enthält den Programmcode von Einschränkungen, darin können Sie wie in einer Prozedur Parameter verwenden, und die Parameter werden mit dem Präfix # hervorgehoben.

Betrachten Sie das Beispiel der 1C: Accounting 8.2-Konfiguration mit integrierten Vorlagen. Öffnen wir die Rolle „ACCOUNTANT“ und gehen wir zur Registerkarte „Einschränkungsvorlagen“. Die hier verwendete Vorlage ist BasicConditionReading mit folgendem Inhalt:

Wo wir sehen #Parameter(1)=UserAccessRightSettings.AccessObject. Genau dieser Parameter kann sich abhängig von den übertragenen Daten ändern. Darüber hinaus verwenden wir überall dort, wo wir Einschränkungen einführen möchten, die Vorlage wie folgt:

Das heißt, statt

#Parameter(1)=Einstellungen für Benutzerzugriffsrechte.Access-Objekt

im Vorlagentext wird es sein

Organization=UserAccessRightSettings.AccessObject.

Oder auf einer einfacheren Vorlage. Der Name der Vorlage #MyLimitations lautet wie folgt:

WHERE #Parameter(1) = &CurrentUser

Als Ergebnis der Übergabe der Parameter an die Vorlage #MyLimitations(„Executor“) erhalten wir Folgendes

WHERE Executor= &CurrentUser.

Ergebnisse

Der Mechanismus zur Beschränkung des Zugriffs auf Daten auf Datensatzebene ist eine sehr mächtige Sache, aber die Einrichtung erfordert viel Erfahrung, da man sich in dieser „Wildnis“ leicht verlieren kann. Dadurch ist eine beliebige Teilabgrenzung der Daten möglich. Andererseits führt das Hinzufügen verschiedener Bedingungen zu einem, wenn auch geringfügigen, Rückgang der Systemleistung. Da die 1C-Plattform der Anfrage des Benutzers zusätzliche Anfragen in Form von Einschränkungen hinzufügt. Im Übrigen ist das für Entwickler einfach eine tolle Sache!

Klassisches Problem: dem Benutzer Zugriff auf ein Objekt gewähren, aber nicht auf alle Elemente/Dokumente, sondern nur auf einige.

Beispielsweise, damit der Manager nur Berichte für seine Kunden sehen kann.

Oder es könnte eine Einschränkung sein „alle bis auf einige“.
Oder die Beschränkung gilt nicht für Nachschlagewerke/Dokumente, sondern um Daten zu registrieren

Beispielsweise, damit Benutzer mithilfe eines beliebigen Berichts keine Daten zu Zahlungen an Partner extrahieren können.

Im Wesentlichen handelt es sich hierbei um eine subtile und sehr flexible Einstellung dessen, „was dieser Benutzer sehen kann und worüber er nicht raten muss“.

Warum RLS?

Die meisten Implementierungen erfordern, dass unterschiedliche Benutzer unterschiedliche Zugriffsebenen auf Informationen in der Datenbank festlegen.

In Konfigurationen sind spezielle Metadatenobjekte – Rollen – für mögliche Zugriffsrechte auf Daten zuständig. Jedem Infobase-Benutzer werden eine oder mehrere Rollen zugewiesen. Sie legen fest, ob Operationen auf bestimmte Metadatenobjekte möglich sind (Lesen, Schreiben, Posten usw.).

Aber das ist nicht alles.

Es ist oft notwendig Öffnen/verweigern Sie nicht nur den Zugriff auf ein bestimmtes Objekt, sondern beschränken Sie den Zugriff auf einen Teil der darin enthaltenen Daten.

Dieses Problem kann nicht allein durch Rollen gelöst werden.– Zu diesem Zweck wurde ein Mechanismus zur Zugriffsbeschränkung auf Datensatzebene (RLS) implementiert.

Einschränkungen stellen Bedingungen dar, unter denen eine Aktion auf Daten (Lesen, Schreiben usw.) zulässig ist. – Auf diese Weise können Sie den Zugriff nicht auf das Objekt als Ganzes, sondern nur auf einen Teil seiner Daten beschränken.

Über RLS – ausführlicher: 8 Videos und PDF

Da dies eine häufige 1C-Verwaltungsaufgabe ist, empfehlen wir Ihnen, sich detailliertere Materialien anzusehen:

Beschränken des Zugriffs auf Daten mithilfe von Rollen

In diesem Video wird erläutert, wie Sie den Zugriff auf Daten mithilfe von Rollen einschränken. Es wird klargestellt, dass Rollen den Zugriff auf eine Art von Infobase-Objekten beschränken (ein separates Verzeichnis, aber nicht bestimmte Elemente des Verzeichnisses).

Record Level Limitation (RLS)

In diesem Video geht es um den Mechanismus der Zugriffsbeschränkungen auf Datensatzebene (RLS), bei dem Sie den Zugriff nicht auf das gesamte Verzeichnis als Ganzes, sondern auf seine einzelnen Elemente konfigurieren können, abhängig von den in der Informationsdatenbank gespeicherten. Ähnliche Einschränkungen sind in Rollen vorgeschrieben.

Implementierung von Zugriffsbeschränkungen auf Datensatzebene für das Auftragnehmerverzeichnis

In diesem Video wird erläutert, wie Sie den Managerzugriff nur für die eigenen Gegenparteien einrichten, die ihnen in der Demokonfiguration der verwalteten Anwendung zugewiesen wurden.

So funktionieren Zugriffsbeschränkungen auf Datensatzebene auf niedriger Ebene

In diesem Video wird erläutert, wie die Plattform an den DBMS-Server gesendete Abfragen zur Ausführung umwandelt, wenn Zugriffsbeschränkungen auf Datensatzebene bestehen.

Gemeinsames Anwenden mehrerer Zugriffsbeschränkungen auf Datensatzebene

Einem Infobase-Benutzer können mehrere Rollen zugewiesen werden. Darüber hinaus kann jede Rolle ihre eigenen Zugriffsbeschränkungen auf Datensatzebene haben. In diesem Video wird erläutert, wie sich das System bei Einschränkungen verhält.

Auferlegen von Einschränkungen mit der ALL-Methode

In diesem Video wird die erste Methode zum Auferlegen von Einschränkungen auf Datensatzebene beschrieben – die ALL-Methode. In diesem Fall wird eine Fehlermeldung angezeigt, wenn die Auswahl Datensätze enthält, auf die der Zugriff beschränkt ist.

Auferlegen von Einschränkungen mithilfe der ALLOWED-Methode

In diesem Video wird die erste Methode zum Auferlegen von Einschränkungen auf Datensatzebene beschrieben – die ALLOWED-Methode. In diesem Fall werden nur die Datensätze in die Auswahl einbezogen, auf die der Benutzer Zugriffsrechte hat.

Hier einige Themen aus dem Kurs:

  • Installation und Aktualisierung der 1C:Enterprise 8-Plattform – manuell und automatisch, für Windows und Linux
  • Automatischer Start Routineoperationen durchzuführen
  • Konfigurationen aktualisieren aus dem Benutzermodus
  • Aktualisierung nicht standardmäßiger Konfigurationen. So vermeiden Sie Probleme beim Update modifizierte Standardkonfigurationen
  • Erstelle dein eigenes Lieferung von CFU-Dateien
  • BSP-Tools: externe Formulare, Bearbeitung des Ausfüllens von Dokumenten usw.
  • Verwendung kostenloses DBMS PostgreSQL
  • Installation und Start Servercluster 1C:Unternehmen 8
  • Verwaltungsdienstprogramm zum Einrichten eines Clusters und Worker-Servern
  • Einstellungen RLS am Beispiel von UPP 1.3 und ERP 2
  • Was tun, wenn Daten in der Informationssicherheit sind beschädigt
  • Einstellungen Datenaustausch zwischen Konfigurationen
  • Organisation Gruppenentwicklung
  • Einrichtung und Verwendung Hardware-Schutzschlüssel
  • 1C-Softwarelizenzen: Installation und Bindung an externe Geräte

In jedem Fall müssen Sie irgendwann 1C bereitstellen, Reservierungen, Zugriffsrechte, verschiedene Startmodi konfigurieren, die Integrität der Datenbanken testen, den Betrieb von Servern sicherstellen usw.

Und es ist besser, es sofort zu tun.

Damit es später nicht passiert „...! Na was zum...! Dein...!" – und andere Ausdrucksformen des Bedauerns :)

Die achte Version der 1C:Enterprise-Plattform (heute 8.3) brachte viele Änderungen gegenüber den „Sieben“ mit sich, unter denen der Mechanismus zur Einschränkung der Zugriffsrechte auf Datensatzebene besonders hervorzuheben ist. Auch wenn es theoretisch möglich ist, darauf zu verzichten und nur Rollen zu verwenden, ermöglicht RLS die Erzielung detaillierterer Zugriffseinstellungen. Um diesen Mechanismus jedoch richtig bedienen zu können, müssen Sie sein Wesen klar verstehen und über ausreichende Erfahrung in der Entwicklung in 1C verfügen.

Was ist RLS?

Der Kern dieser Funktionalität besteht darin, dass der Entwickler verhindern kann, dass ein bestimmter Benutzer oder eine bestimmte Benutzergruppe auf Tabellen oder Felder von Datenbanktabellen zugreift. In der Regel werden Einschränkungen verwendet, um 1C-Benutzer daran zu hindern, vertrauliche, geheime Informationen anzuzeigen und zu bearbeiten, indem beispielsweise die Mitarbeiter eines in einer Gruppe enthaltenen Unternehmens darauf beschränkt werden, Dokumente nur für ihre Organisation anzuzeigen. Außerdem kann der Mechanismus zur Einschränkung der Zugriffsrechte auf Datensatzebene genutzt werden, um unnötige Informationen von der Schnittstelle zu entfernen.

Um Abfragen für RLS-Einschränkungen schreiben zu können, müssen Sie eine Rolle erstellen oder eine vorhandene übernehmen. Das Einrichten von RLS in 1C 8.3 kann für die folgenden Benutzeraktionen verwendet werden:

  • Zusatz;
  • Lektüre;
  • Löschen;
  • Ändern.

Neben den umfassendsten Möglichkeiten zur individuellen Zugriffsanpassung hat RLS auch Nachteile:

  1. Anforderungen an die Qualifikation des Entwicklers, da die Anfrage unter Berücksichtigung der Syntaxregeln in einer integrierten Sprache verfasst sein muss;
  2. Mangelnde Fähigkeit, Bedingungen schnell zu debuggen;
  3. Begrenzte Möglichkeiten zur Beschreibung der Logik: Zu komplexe Bedingungen müssen weiterhin in Modulen von Dokumenten und Nachschlagewerken geschrieben werden;
  4. In der Client-Server-Version der Datenbank ist ein implizites Wachstum der in der Abfrage enthaltenen Tabellen möglich. Darüber hinaus ist es sehr schwierig, diesen Prozess zu verfolgen;
  5. Ressourcenbedarf. RLS-Einschränkungen verbrauchen viel Strom auf dem Client-Computer und dem Server.
  6. Es ist nur wenig Dokumentation frei verfügbar.

Ein weiteres Problem, das nach der Einrichtung von 1C RLS auftreten kann, können Berichte sein. Tatsache ist, dass Entwickler mögliche RLS-Einschränkungen berücksichtigen und Berichte so erstellen, dass sie nur zulässige Daten anzeigen. Wenn für Benutzer unterschiedliche RLS-Einschränkungen konfiguriert sind, können die Daten im Bericht für dieselben Parameter unterschiedlich sein. Dies kann Fragen aufwerfen. Daher müssen Sie diese Situationen berücksichtigen, wenn Sie Berichte entwerfen oder Abfragen in RLS schreiben.

Erstellen Sie eine RLS-Einschränkung

Um eine RLS-Einschränkung hinzuzufügen, müssen Sie die gewünschte Rolle finden und diese per Doppelklick öffnen.

Das sich öffnende Fenster enthält zwei Registerkarten: „Rechte“ und „Einschränkungsvorlagen“. Um einer bestimmten Aktion bestimmte Einschränkungen aufzuerlegen, müssen Sie diese auswählen und auf das grüne Pluszeichen unten rechts klicken. Es erscheint eine Zeile, in der wir 1C RLS-Einschränkungen in der in 1C integrierten Sprache festlegen können.


Wenn Sie die 1C-Syntax kennen (wie Ihre Westentasche), können Sie direkt in das Feld „Zugriffsbeschränkung“ schreiben. 1C-Entwickler haben die Möglichkeit bereitgestellt, einen Abfragekonstruktor zu öffnen, der hilft und Vorschläge macht, welche Einschränkungen vorgenommen werden können. Um es zu öffnen, müssen Sie auf die Schaltfläche mit den drei Punkten (Auswählen) oder F4 klicken und ein Fenster mit der Schaltfläche „Query Builder…“ erscheint.


Im erscheinenden Fenster können Sie Einschränkungen nicht nur für dieses Verzeichnis, sondern auch für andere Systemobjekte konfigurieren. Dazu müssen Sie diese auf der Registerkarte „Tabellen und Felder“ hinzufügen. Wir registrieren Einschränkungen für die Felder des Verzeichnisses „Nomenklatur“ und klicken auf „OK“. Seien Sie vorsichtig mit den Namen der Variablen: RLS-Parameter werden zu Beginn der Benutzersitzung festgelegt und müssen im Metadatenobjekt enthalten sein.


Auf der Registerkarte „Einschränkungsvorlagen“ legen Sie Abfragen fest, die beim Kopieren derselben RLS-Einstellungen in 1C 8.3 erforderlich sind. Nachdem Sie Ihre Vorlage hinzugefügt haben, können Sie deren Namen in den Zugriffsrechteeinstellungen verwenden.

Es ist auch möglich, Einschränkungen für mehrere Rollen gleichzeitig hinzuzufügen. Dazu müssen Sie im Konfigurationsbaum mit der rechten Maustaste auf den Abschnitt „Rollen“ klicken und „Alle Rollen“ auswählen.


Abschließend möchte ich anmerken, dass sich dieser Artikel an 1C-Entwicklerberater richtet und vor allem denjenigen helfen kann, die bereits Erfahrung in der 1C:Enterprise-Entwicklung haben. Trotz ihrer scheinbaren Einfachheit erfordern Kenntnisse der Semantik und das Verständnis der Struktur von Geschäftsprozessen des eigenen Unternehmens oder der Organisation eines Kunden für die korrekte Verteilung von Rechten ein gewisses Maß an Wissen und Erfahrung.

Zugriff auf Verzeichniseintragsebene einrichten.

Diese Einstellung wurde vor nicht allzu langer Zeit in die Konfiguration aufgenommen, ich persönlich halte die Einstellung für sehr nützlich.

Diese Einstellung ist für diejenigen erforderlich, die den Zugriff auf das Verzeichnis durch Elemente dieses Verzeichnisses einschränken müssen. Beispielsweise muss ein Manager nur Kunden sowie Berichte und Dokumentenprotokolle sehen, und zwar nur für Gegenparteien, auf die er Zugriff hat, und ein Buchhalter muss vollen Zugriff auf alle Elemente des Verzeichnisses haben, zum Beispiel „Kontrahenten“. ”

Ich schlage vor, ein Beispiel am Beispiel der Softstarter-Konfiguration zu betrachten.

  1. In dieser Phase ist es notwendig, eine Reihe von Benutzergruppen zu definieren.

Administratoren;

Verkaufsmanager;

Einkaufsmanager;

  1. Im zweiten Schritt werden Zugriffsgruppen auf das Verzeichnis festgelegt.

Käufer;

Lieferanten;

Typischerweise werden die oben beschriebenen Gruppenlisten mit der Geschäftsleitung besprochen und erst dann in das Programm eingetragen.

Nun müssen die tatsächlichen Einstellungen beschrieben werden, die in 1C vorgenommen werden müssen.

  1. Aktivieren wir „Eingeschränkter Zugriff auf Datensatzebene“. Service – Benutzer- und Zugriffsverwaltung – Zugriffsparameter auf Datensatzebene. Siehe Abb. 1.

Es öffnet sich das Bearbeitungsformular „Zugriffsparameter auf Datensatzebene“, siehe Abb. 2.

In diesem Formular müssen Sie tatsächlich die Einschränkung aktivieren, für die das Flag „Zugriff auf Datensatzebene nach Objekttyp einschränken“ verantwortlich ist, und diejenigen Verzeichnisse auswählen, für die die Einschränkung gelten soll. In diesem Artikel wird nur das Verzeichnis „Kontrahenten“ behandelt.

  1. Als nächstes benötigen wir die Gruppen von Benutzern und Gegenparteien, die am Anfang des Artikels definiert wurden.

Auftragnehmergruppen werden im Verzeichnis „Benutzergruppen“ eingetragen, siehe Abb. 3.

Es öffnet sich das Formular des Verzeichniselements „Benutzergruppen“, siehe Abb. 4.

Auf der linken Seite des Fensters wird das Zugriffsobjekt angezeigt (bei uns sind das „Gegenparteien“), auf der rechten Seite stehen die Benutzer, die Mitglieder der Gruppe sind, in diesem Beispiel sind das „Administratoren“.

Für jede von Ihnen definierte Benutzergruppe müssen Sie diese Einstellung vornehmen; es darf kein einziger Benutzer übrig bleiben, der nicht Mitglied der Gruppe ist.

  1. Im dritten Schritt müssen Sie „Counterparty Access Groups“ eintragen; hierfür ist das Verzeichnis „Counterparty Access Groups“ zuständig. Siehe Abb. 5.

Für unser Beispiel sind dies: Käufer, Lieferanten, Sonstiges. Siehe Abb. 6.

  1. Zu diesem Zeitpunkt müssen Sie jedem Element des Verzeichnisses „Kontrahenten“ eine Zugriffsgruppe zuweisen. Siehe Abb. 7.

Auf der Registerkarte „Sonstige“ wird die Zugriffsgruppe für die Gegenpartei zugewiesen. Normalerweise verwende ich eine zusätzliche Standardverarbeitung, um Daten Gruppen zuzuordnen. „Gruppenverarbeitung von Verzeichnissen und Dokumenten“ ermöglicht es Ihnen, die gewünschte Gruppe für dieses Detail massiv festzulegen.

  1. Diese Phase ist die Höhepunktphase. In dieser Phase wird der Zugriff von „Benutzergruppen“ auf „Kontrahenten-Zugriffsgruppen“ konfiguriert; dies wird mithilfe der Verarbeitung „Zugriffsrechte auf Datensatzebene festlegen“ konfiguriert, siehe Abb. 8.

Das Verhältnis von Benutzergruppen zu Kontrahenten-Zugriffsgruppen ist rot hervorgehoben. Für die Gruppen „Einkaufsleiter“ und „Verkaufsleiter“ werden die Beziehungen genauso konfiguriert, lediglich die Zugriffsobjekte werden als diejenigen angegeben, auf die sie Zugriff haben sollen, zum Beispiel nur „Lieferanten“ oder nur „Einkäufer“. Flags, zum Beispiel „Sichtbarkeit in der Liste“, sind die Rechte des „Access Object“. Aus dem Namen geht meines Erachtens die Funktionalität dieser Rechte klar hervor.

Nach den oben genannten Manipulationen sollten Sie nur noch eingeschränkten Zugriff auf das Verzeichnis „Kontrahenten“ haben.

Die restlichen Verzeichnisse sind ähnlich konfiguriert.

Wichtig:

Der eingeschränkte Zugriff gilt nicht für die Rolle „Volle Rechte“.

Der Satz Benutzerrollen muss die Rolle „Benutzer“ enthalten;

Wenn Sie über eigene Rollen verfügen, müssen Sie Vorlagen und Einschränkungen in Ihre Rolle einfügen, z. B. in der Rolle „Benutzer“ in Bezug auf das Verzeichnis „Gegenparteien“ (siehe Code in der Benutzerrolle, indem Sie auf das Verzeichnis „Gegenparteien“ klicken).