DE · AT · CHGlossar

Datensatzregel (Odoo)

Aktualisiert:

Gilt für: Odoo 20.0; Community und Enterprise; Odoo Online, Odoo.sh und On-Premise; Basis-Modul (base)

Kurz gesagt

Eine Datensatzregel ist in Odoo eine Bedingung, die festlegt, welche Datensätze eines Modells eine Gruppe lesen, erstellen, schreiben oder löschen darf. Sie steht als zweite Ebene über den Zugriffsrechten und wird Datensatz für Datensatz geprüft; die Bedingung schreiben Sie als Domäne aus Feld, Operator und Wert (Dokumentation 20.0, für Deutschland, Österreich und die Schweiz gleich).

Das Wichtigste

  • Setzt auf den Zugriffsrechten auf und filtert einzelne Datensätze eines Modells.
  • Die Bedingung ist eine Domäne: Feld, Operator und Wert, verknüpft mit &, | und !.
  • Vorgänge lassen sich einzeln wählen; standardmäßig sind alle vier ausgewählt, ein abgewählter Vorgang wird nicht geprüft.
  • Regeln ohne Gruppe sind global und werden geschnitten; Gruppenregeln werden vereinigt, die erste schränkt ein, weitere können erweitern.
  • Gruppen samt Regeln ändern Benutzer mit dem Recht Administration ‣ Zugriffsrechte; die Gruppenliste erreichen Sie im Entwicklermodus.

Eine Datensatzregel (englisch Record Rule) ist in Odoo eine Bedingung, die einer Gruppe zugeordnet wird und festlegt, welche Datensätze eines Modells diese Gruppe sehen oder ändern darf. Die deutsche Benutzerdokumentation 20.0 nennt sie die zweite Ebene, die die Zugriffsrechte der Gruppe verfeinert oder überschreibt; für Deutschland, Österreich und die Schweiz gilt dasselbe.

Was sie tut und wann sie greift

Zugriffsrechte erlauben den Umgang mit einem ganzen Modell, Datensatzregeln prüfen danach jeden einzelnen Datensatz (Entwicklerdokumentation 20.0). Je Regel legen Sie fest, für welche Vorgänge sie gilt: Für Lesen anwenden, Für Schreiben anwenden, Für Erstellen anwenden, Für Löschen anwenden. Diese vier Vorgänge sind standardmäßig ausgewählt; einen abgewählten Vorgang prüft die Regel nicht, als gäbe es sie für ihn nicht (Entwicklerdokumentation 20.0).

Eine Regel ohne Gruppe ist global: Globale Regeln werden geschnitten, jede muss erfüllt sein; mehrere globale Regeln können deshalb jeden Zugriff ausschließen. Regeln mit Gruppe werden dagegen vereinigt, eine erfüllte genügt. Die erste Gruppenregel zu einem Regelsatz schränkt deshalb ein, jede weitere kann den Zugriff wieder erweitern – aber nie über die Grenzen der globalen Regeln hinaus. Greifen die Zugriffsrechte und keine Regel, bleibt der Zugriff erlaubt (default-allow).

Beispiel: eine Domäne für eigene Verkaufsaufträge

Die Bedingung ist eine Domäne, eine Liste von Bedingungen aus Feld, Operator und Wert, zum Beispiel [('name', '=', 'ABC'), ('phone', 'like', '7620')]. Bedingungen verknüpfen Sie mit &, | und ! in Präfixschreibweise; in einer Regel stehen zusätzlich die Variablen user, company_id, company_ids und time bereit (Entwicklerdokumentation 20.0).

Beispiel (eigene Darstellung): Die Domäne [('user_id', '=', user.id)] lässt nur Datensätze durch, deren Verkäufer der angemeldete Benutzer ist. Trägt eine Gruppe, deren Zugriffsrechte Verkaufsaufträge freigeben, nur diese Regel, sieht ein Verkäufer fremde Aufträge nicht mehr. Das gilt nicht, wenn eine weitere anwendbare Gruppenregel diese Aufträge freigibt: Gruppenregeln werden vereinigt, eine erfüllte genügt.

Wo Sie Datensatzregeln sehen und ändern

Nach Aktivierung des Entwicklermodus in Odoo führt der Weg über Einstellungen ‣ Benutzer & Unternehmen ‣ Gruppen; im Gruppenformular listet die Registerkarte Datensatzregeln (englisch Record Rules) die zweite Ebene, über Zeile hinzufügen entsteht eine Regel (Benutzerdokumentation 20.0, deutsch). Zugriffsrechte ändern nur Benutzer, die im Benutzerprofil im Bereich Administration das Feld Administration auf Zugriffsrechte stehen haben; fehlt später ein handlungsfähiger Administrator, ist die Datenbank laut Dokumentation nicht mehr zu verwalten. Im Superuser-Modus sind Datensatzregeln und Zugriffsrechte umgehbar; dorthin kommt nur, wer im Bereich Administration den Zugriff Einstellungen hat.

Nicht zu verwechseln mit

  • Zugriffsrecht: erlaubt den Umgang mit einem ganzen Modell; erst danach entscheidet die Datensatzregel über einzelne Datensätze (Zugriffsgruppe (Odoo)).
  • Gruppe: das Bündel, dem Regeln zugeordnet werden; eine Regel ohne Gruppe ist global und gilt für alle Benutzer.
  • Domäne in Feld, Filter oder Aktion: Domänen filtern auch Suchergebnisse, Auswahlfelder und Aktionen; den Zugriff beschränkt die Regel im Gruppenformular (ORM-Referenz 20.0).

Die praktische Anleitung: Datensatzregeln in Odoo: Sichtbarkeit begrenzen.

Häufige Fragen

Reicht eine Datensatzregel, um einem Benutzer Zugriff zu geben?

Nein. Regeln werden nach den Zugriffsrechten geprüft und ersetzen sie nicht. Fehlt der Gruppe das Recht auf das Modell, hilft keine noch so offene Regel. Erst wenn die Zugriffsrechte den Vorgang erlauben, entscheidet die Regel, welche einzelnen Datensätze davon übrig bleiben.

Sehen Administratoren alle Datensätze?

Die Dokumentation nennt für Datensatzregeln keinen Ausnahmefall für Administratoren; geprüft wird über die Gruppen des Benutzers, Datensatz für Datensatz. Umgehen lassen sich Datensatzregeln und Zugriffsrechte nur im Superuser-Modus. Hinein kommt nur, wer im Bereich Administration den Zugriff Einstellungen hat; die Dokumentation 20.0 warnt davor, weil Änderungen die Datenbank aussperren können.

Kann ich eine Regel für einen einzelnen Benutzer statt für eine Gruppe anlegen?

Nicht direkt. Regeln hängen an Gruppen; eine Regel ohne Gruppe gilt dagegen global für alle Benutzer. Für einen einzelnen Benutzer ist der belegte Weg eine eigene Gruppe mit ihm als einzigem Mitglied, der Sie die Regel zuordnen. Die Dokumentation empfiehlt, geänderte Einstellungen immer mit den betroffenen Benutzern zu testen.

Quellen

  1. Zugriffsrechte (Benutzerdokumentation 20.0, deutsch): Registerkarte Datensatzregeln als zweite Ebene der Bearbeitungs- und Sichtbarkeitsrechte, Domänenausdruck als Liste von Bedingungen, Vorgänge Für Lesen/Schreiben/Erstellen/Löschen, Änderungen an Zugriffsrechten nur für Benutzer mit dem Recht Administration (Feld Administration auf Zugriffsrechte), Gruppenliste im Entwicklermodus, Superuser-Modus umgeht Datensatzregeln und ZugriffsrechteOdoo S.A. · abgerufen am
  2. Security in Odoo, Abschnitt Record Rules (Entwicklerdokumentation 20.0, Seite unter /de/ aufgerufen; die Abschnitte zu Datensatzregeln stehen dort unübersetzt auf Englisch): Modell ir.rule mit domain_force, Prüfung Datensatz für Datensatz nach den Zugriffsrechten, default-allow; zu perm_create/perm_read/perm_write/perm_unlink: ein nicht ausgewählter Vorgang wird nicht geprüft, als gäbe es die Regel nicht, standardmäßig sind alle Vorgänge ausgewählt; Variablen user, company_id, company_ids und time; globale Regeln schneiden sich, Gruppenregeln vereinigen sich, die erste Gruppenregel eines Regelsatzes schränkt ein, weitere können den Zugriff erweitern, aber nicht über die Grenzen der globalen Regeln hinausOdoo S.A. · abgerufen am
  3. Domänen für Suchen, Abschnitt Domains (ORM-Referenz 20.0, Seite unter /de/ aufgerufen; der Abschnitt steht dort unübersetzt auf Englisch): Domäne als Liste von Drei-Tupeln aus Feld, Operator und Wert, Beispiel mit den Feldern name und phone zum Wert 7620, Verknüpfung mit &, | und ! in PräfixschreibweiseOdoo S.A. · abgerufen am
  4. Odoo Release Notes: Version 20, veröffentlicht September 2026; Version 19, veröffentlicht September 2025Odoo S.A. · abgerufen am