Wstęp
Błąd Odoo Multi Company Access Error pojawia się, gdy użytkownik chce otworzyć rekord przypisany do innej firmy w ramach jednego bazy danych z kilkoma jednostkami.
Taki problem występuje często w firmach, które prowadzą kilka podmiotów prawnych w jednej instalacji Odoo. Nawet przy prawidłowych uprawnieniach funkcjonalnych system może zablokować dostęp z powodu reguł związanych z przynależnością do firmy.
Ten materiał wyjaśnia, dlaczego występują błędy dostępu wielofirmowego i jak je bezpiecznie rozwiązywać.
Czym jest błąd dostępu w środowisku wielofirmowym Odoo?
Odoo umożliwia obsługę wielu firm w jednej bazie danych. Każdy rekord ma pole company_id określające, do której firmy należy.
Po włączeniu trybu wielofirmowego:
- użytkownicy widzą tylko rekordy przypisane do aktywnej firmy
- reguły rekordów automatycznie filtrują dane według firmy
- niektóre modele narzucają ścisłe rozgraniczenie między firmami
Jeśli użytkownik próbuje otworzyć lub zmodyfikować rekord spoza swojej aktywnej firmy, Odoo zablokuje tę akcję.
Błąd zwykle pojawia się w interfejsie użytkownika i może przyjmować formę:
You are not allowed to access this document.
Najczęstsze przyczyny błędu dostępu wielofirmowego w Odoo
1. Wybrana niewłaściwa firma aktywna
Użytkownicy mogą zmienić aktywną firmę w selektorze w prawym górnym rogu.
Gdy aktywna jest inna firma, powiązane rekordy stają się niedostępne.
2. Rekord przypisany do innej firmy
Może mieć miejsce sytuacja, w której rekord:
company_id = Firma B
a użytkownik działa w kontekście Firmy A.
Domyślnie Odoo nie pozwala na dostęp krzyżowy między firmami.
3. Użytkownik nie przypisany do potrzebnych firm
Użytkownicy muszą być wyraźnie przypisani do każdej firmy, do której mają mieć dostęp.
Jeżeli nie są przypisani, dostęp zostanie zablokowany, nawet gdy selektor firmy jest dostępny.
4. Reguły rekordów izolujące firmy
Wielu modeli ma automatyczne reguły, na przykład:
[('company_id', 'in', user.company_ids.ids)]
Jeśli firma rekordu nie znajduje się na liście firm użytkownika, dostęp jest odrzucany.
5. Rekordy współdzielone z polami zależnymi od firmy
Niektóre zasoby wyglądają na współdzielone, ale zawierają pola powiązane z firmą, co powoduje ograniczenia.
To szczególnie często występuje w modułach księgowych.
Jak naprawić błąd dostępu wielofirmowego w Odoo
Krok 1 – Sprawdź aktywną firmę
Zmień aktywną firmę przez menu w prawym górnym rogu i spróbuj ponownie uzyskać dostęp do rekordu.
Krok 2 – Zweryfikuj firmę rekordu
Włącz tryb deweloperski i sprawdź wartość pola company_id rekordu.
Upewnij się, że odpowiada ono aktywnej firmie użytkownika.
Krok 3 – Przypisz użytkownika do właściwych firm
Przejdź do:
Ustawienia → Użytkownicy i firmy → Użytkownicy
Sprawdź, czy użytkownik ma przypisane wszystkie wymagane firmy.
Krok 4 – Przejrzyj reguły rekordów
Nawiguj do:
Ustawienia → Techniczne → Bezpieczeństwo → Reguły rekordów
Sprawdź reguły filtrujące po company_id.
Modyfikując reguły dotyczące firmy zachowaj ostrożność.
Krok 5 – Sprawdź konfigurację modułów wielofirmowych
Niektóre moduły wymuszają ścisłe rozdzielenie firm.
Upewnij się, że ustawienia modułów odpowiadają twojemu modelowi operacyjnemu.
Jak zapobiegać problemom z dostępem w konfiguracji wielofirmowej
- Jasno zdefiniuj strukturę firm przed wdrożeniem
- Przypisuj użytkowników z rozwagą do odpowiednich podmiotów
- Unikaj ręcznych zmian pola company_id w środowisku produkcyjnym
- Testuj procesy pracy w kontekście każdej firmy
- Dokumentuj procesy międzyfirmowe
Konfiguracja wielofirmowa wymaga dyscypliny. Niezorganizowane przypisania firm są jednym z najczęstszych źródeł problemów z uprawnieniami.
Jak Dasolo organizuje środowiska wielofirmowe
Błędy dostępu w konfiguracji wielofirmowej pojawiają się najczęściej wtedy, gdy reguły rekordów, pola zależne od firmy i przypisania użytkowników nie są spójne. Odoo obsługuje złożone modele wielojednostkowe, lecz nawet drobne luki konfiguracyjne mogą zablokować poprawne operacje.
W Dasolo analizujemy środowiska wielofirmowe koncentrując się na:
- ustawieniach widoczności firm
- domenach filtrujących w regułach rekordów
- rozróżnieniu zasobów współdzielonych i specyficznych dla firmy
- użytkownikach integracji działających w wielu podmiotach
Przejrzyste granice firm i spójna logika dostępu zapobiegają powtarzającym się konfliktom międzyfirmowym.
Podsumowanie
Błąd „Multi Company Access Error” w Odoo pojawia się, gdy ktoś próbuje uzyskać dostęp do danych poza zakresem firm, do których ma prawo. Ograniczenie to jest celowe, ale nieprawidłowa konfiguracja potrafi powodować zbędne przestoje.
Dokładne przejrzenie przypisań firm, reguł rekordów i ustawień zasobów współdzielonych pozwala wyeliminować powtarzające się konflikty dostępu. Poprawnie zaprojektowana architektura wielofirmowa zapewnia bezpieczne rozdzielenie danych przy zachowaniu elastyczności operacyjnej między podmiotami.