Работа с несколькими организациями в одной базе 1С:Предприятие требует грамотной настройки прав доступа, чтобы сотрудники видели только релевантные данные. Без правильной сегментации риски утечки информации, ошибок в отчётности или несанкционированных изменений возрастают в разы. Эта статья поможет разобраться, как ограничить доступ по организациям с учётом разных версий платформы, конфигураций и бизнес-задач.
Мы рассмотрим не только стандартные механизмы — роли, RLS (ограничение прав на уровне записей) и группы пользователей, но и типовые ошибки, которые приводят к "дырам" в безопасности. Особое внимание уделим нюансам для 1С:Бухгалтерии, 1С:ЗУП и 1С:ERP, где логика разграничения может отличаться. Если вы администрируете базу с десятками организаций или только начинаете настраивать доступ — здесь найдёте проверенные решения.
Почему стандартные роли 1С не всегда решают задачу
Многие администраторы ошибочно полагают, что назначение роли Бухгалтер (по своей организации) или Кадровый работник (своя организация) автоматически ограничит доступ. На практике это работает только при идеальной структуре данных — когда все документы и справочники жёстко привязаны к организации. Реальность сложнее:
- 🔹 Общие справочники: Контрагенты, номенклатура или физические лица часто не привязаны к конкретной организации, поэтому остаются видимыми всем.
- 🔹 Межорганизационные операции: Документы типа "Взаиморасчёты между организациями" или "Перемещение товаров" требуют доступа к данным нескольких юрлиц.
- 🔹 Отчёты и обработки: Даже с ролью "по своей организации" пользователь может увидеть сводные данные по всем организациям в отчётах типа "Оборотно-сальдовая ведомость".
Кроме того, в типовой 1С:Бухгалтерии 3.0 роль Полные права игнорирует любые ограничения по организациям — это частая причина утечек. Прежде чем настраивать RLS или кастомизировать роли, проверьте, нет ли в базе пользователей с избыточными правами.
Метод 1: Ограничение через стандартные роли (для типовых конфигураций)
Если ваша база работает на типовой конфигурации (1С:Бухгалтерия, 1С:ЗУП, 1С:УТ), начать стоит со встроенных ролей. Они уже содержат логику ограничения по организациям, но требуют правильной настройки. Алгоритм действий:
- Откройте
Администрирование → Пользователи и права → Пользователи. - Выберите пользователя и перейдите на вкладку
Роли. - Назначьте роль с постфиксом "(по своей организации)", например:
Бухгалтер (по своей организации)Кладовщик (по своей организации)Кассир (по своей организации)
- На вкладке
Организацииукажите, к каким юридическим лицам пользователь должен иметь доступ. - 🔸 Не назначена ли роль
Полные права(она перекрывает все ограничения). - 🔸 Нет ли у пользователя дополнительных ролей без постфикса "(по своей организации)".
- 🔸 Правильно ли заполнено поле
Организацияв документах и справочниках.
Важно: после изменения ролей пользователь должен перезайти в систему, чтобы права обновились. Если ограничения не сработали, проверьте:
☑️ Проверка ограничений по ролям
Метод 2: RLS (Record Level Security) — ограничение на уровне записей
RLS — это механизм платформы 1С:Предприятие, который позволяет ограничивать доступ к конкретным записям в базе (строкам таблиц). В отличие от ролей, которые работают на уровне объектов (документов, справочников), RLS фильтрует данные внутри этих объектов. Например, можно сделать так, чтобы бухгалтер видел только те платежные поручения, где в поле Организация указана его компания.
Настройка RLS требует прав конфигуратора и выполняется в два этапа:
- Создание ограничения:
- Откройте конфигуратор и перейдите в
Общие → Ограничения доступа. - Создайте новое ограничение, например,
ДоступПоОрганизации. - В поле
Таблицаукажите объект (например,Документ.ПлатежноеПоручение). - В поле
Параметрыдобавьте условие:Организация В (&ОрганизацииПользователя).
- Откройте конфигуратор и перейдите в
- Откройте роль (например,
Бухгалтер) в конфигураторе. - На вкладке
Ограничения доступадобавьте созданное ограничение. - Укажите параметр
&ОрганизацииПользователя— это может быть список организаций из профиля пользователя.
RLS — мощный инструмент, но у него есть подводные камни:
| Проблема | Решение |
|---|---|
| RLS не работает для отчётов | Используйте параметр Отбор.Организация в настройках отчёта или создайте отдельные обработки с жёстким фильтром. |
| Замедление производительности | Не создавайте RLS для часто используемых справочников (например, Номенклатура). Ограничивайте только критичные документы. |
| RLS игнорируется при программном доступе | Проверяйте права в коде с помощью функции ПраваДоступа.ПроверкаПрав(). |
Перед настройкой RLS сделайте резервную копию базы! Ошибки в ограничениях могут сделать данные недоступными даже для администраторов.
Метод 3: Группы пользователей и подчинённость организаций
Если в вашей компании есть иерархия организаций (например, головной офис и филиалы), удобно использовать группы пользователей с привязкой к группам организаций. Этот метод позволяет гибко управлять доступом без глубоких изменений в конфигурации.
Инструкция по настройке:
- Создайте группы организаций:
- Перейдите в
Справочники → Организации. - Создайте группы (например,
Московский филиал,Петербургский филиал). - Распределите организации по группам.
- Перейдите в
- В
Администрирование → Пользователи и правасоздайте группы (например,Бухгалтеры Москвы). - На вкладке
Организацииукажите группу организаций, к которой будет доступ.
Преимущество этого метода — централизованное управление. Например, если в филиале появляется новая организация, достаточно добавить её в группу, и все пользователи автоматически получат доступ. Однако учтите:
⚠️ Внимание: В некоторых конфигурациях (например, 1С:ERP 2.4) группы организаций могут не поддерживаться "из коробки". В этом случае потребуется доработка или использование RLS.
Типовые ошибки и как их избежать
Даже опытные администраторы допускают ошибки при настройке ограничений по организациям. Вот самые распространённые из них и способы их решения:
- 🚫 Пользователь видит все организации, несмотря на роль "(по своей организации)"
Причина: В профиле пользователя не указана организация или назначена роль без ограничений.
Решение: Проверьте вкладкуОрганизациив карточке пользователя и удалите лишние роли. - 🚫 RLS не работает для отчётов
Причина: RLS ограничивает данные на уровне таблиц, но не влияет на запросы в отчётах.
Решение: Доработайте отчёт, добавив отбор по организации в параметры или используйте обработку с жёстким фильтром. - 🚫 После обновления конфигурации пропали ограничения
Причина: Типовое обновление могло перезаписать кастомные роли или RLS.
Решение: Сравните конфигурации до и после обновления (инструментСравнитьКонфигурации) и восстановите изменения.
Критическая ошибка: Назначение роли "Полные права" для устранения проблем с доступом. Это полностью снимает все ограничения, включая RLS, и создаёт брешь в безопасности. Вместо этого используйте отладчик (Отладка → Начать отладку) для диагностики прав.
Как проверить, какие права реально действуют у пользователя?
Откройте сеанс пользователя в режиме "1С:Предприятие" под его учётной записью. Перейдите в Сервис → Параметры → Отладка и включите опцию "Показывать права доступа". Теперь при открытии любого объекта (документа, справочника) в статусной строке будет отображаться, какие права применены.
Особенности для 1С:ЗУП и 1С:ERP
В 1С:Зарплата и Управление Персоналом и 1С:ERP логика ограничения по организациям имеет нюансы из-за специфики данных:
- 🔹 1С:ЗУП:
- Для ограничения доступа к данным сотрудников используйте роль
Кадровик (по своей организации). - Обратите внимание на справочник
Физические лица— он не привязан к организациям, поэтому требует дополнительных ограничений (например, через RLS по полюМесто работы).
- Для ограничения доступа к данным сотрудников используйте роль
- 🔹 1С:ERP:
- Используйте механизм
Территориальные единицыдля сегментации данных по филиалам. - Для ограничения доступа к заказам, счетам и договорам настройте RLS по полю
ПодразделениеилиОрганизация.
- Используйте механизм
В 1С:ERP также есть возможность настраивать доступ по бизнес-процессам. Например, можно разрешить менеджеру видеть только те сделки, где он указан как ответственный, независимо от организации. Для этого:
- Откройте
Настройки и администрирование → Бизнес-процессы → Права доступа. - Создайте правило, где в условии укажите
Ответственный = ТекущийПользователь(). - Привяжите правило к ролям менеджеров.
В 1С:ERP ограничения по организациям часто пересекаются с ограничениями по подразделениям и бизнес-процессам. Проверяйте приоритетность правил в настройках ролей!
Автоматизация и контроль: как следить за изменениями прав
Настройка ограничений — это только половина задачи. Важно обеспечить контроль за изменениями прав и аудит доступа. Вот инструменты, которые помогут:
- 📊 Журнал регистрации:
Включите регистрацию событийИзменение прав пользователейиВход в системувАдминистрирование → Журналы регистрации. Это позволит отслеживать, кто и когда менял настройки доступа. - 🔄 Регламентные задания:
Создайте задание, которое раз в неделю будет отправлять администратору отчёт о пользователях с рольюПолные праваили без привязки к организации. - 🔍 Внешние обработки:
Используйте обработки типа"Анализ прав пользователей"(доступны на Инфостарт), чтобы визуализировать текущие настройки и находить противоречия.
Для крупных компаний с сотнями пользователей рекомендуем интегрировать 1С с SIEM-системами (например, Splunk или ELK Stack) для централизованного мониторинга событий безопасности. Это позволит:
- Отслеживать аномальные входы (например, в нерабочее время).
- Получать уведомления о массовых изменениях прав.
- Анализировать попытки доступа к чужим организациям.
⚠️ Внимание: В облачных версиях 1С (например, 1С:Fresh) возможности аудита ограничены. Уточните у провайдера, какие журналы доступны для экспорта.
FAQ: Частые вопросы по ограничению доступа
Можно ли ограничить доступ по организациям без прав конфигуратора?
Да, если используете стандартные роли типа Бухгалтер (по своей организации). Для этого:
- Зайдите в
Администрирование → Пользователи и права. - Выберите пользователя и назначьте роль с постфиксом "(по своей организации)".
- На вкладке
Организацииукажите нужные юрлица.
Для настройки RLS или кастомных ролей права конфигуратора обязательны.
Почему после настройки RLS пользователь не видит никакие данные?
Вероятные причины:
- В параметре RLS
&ОрганизацииПользователяпередан пустой список. - Ошибка в условии ограничения (например, опечатка в имени поля).
- Пользователь не привязан ни к одной организации в профиле.
Проверьте настройки в Общие → Ограничения доступа и параметры сеанса пользователя.
Как ограничить доступ к отчётам по организациям?
RLS не работает для отчётов, поэтому используйте один из методов:
- Отбор в настройках отчёта: Добавьте параметр
Организацияи настройте его значение по умолчанию (например, текущая организация пользователя). - Доработка отчёта: В модуле отчёта добавьте программный фильтр:
Отбор.Организация = ПользователиИнформационнойБазы.ТекущийПользователь().Организация; - Создание отдельных обработок: Разработайте альтернативные отчёты с жёстко прописанными ограничениями.
Что делать, если в базе сотни организаций, и настраивать права для каждой долго?
Используйте группы организаций и шаблоны ролей:
- Сгруппируйте организации по регионам, филиалам или бизнес-направлениям.
- Создайте шаблон роли (например,
Бухгалтер (шаблон)) и назначьте его группе пользователей. - Используйте обработку для массового назначения прав (например,
"Массовое изменение прав пользователей"с Инфостарта).
Для автоматизации также подойдут скрипты на 1Script или PowerShell (для файлового варианта 1С).
Как проверить, что ограничения работают корректно?
Выполните тестовый сценарий:
- Создайте тестового пользователя с ограниченными правами.
- Войдите под его учётной записью и попытайтесь открыть документы другой организации.
- Проверьте видимость данных в отчётах и справочниках.
- Используйте
Журнал регистрации, чтобы отследить попытки доступа к запрещённым данным.
Для комплексного тестирования используйте обработку "Проверка прав доступа" (доступна на портале 1С:ИТС).