Механизм ограничения прав доступа к контрагентам позволяет администратору 1С точечно управлять тем, какие именно клиенты, поставщики или партнеры доступны каждому пользователю․ Это критично для компаний с разделением обязанностей: менеджер не должен видеть документы «чужих» клиентов, а бухгалтерия — данные по контрагентам других подразделений․
Ключевые понятия
- RLS (Row Level Security) — ограничение доступа на уровне записей реализуется в конфигурации и распространяется на все связанные объекты: документы, отчёты, регистры․
- Роль — объект конфигурации, где прописываются права на виды объектов и условия RLS․ Роль назначается пользователю либо рабочей группе․
- Разрезы доступа — в 1С:Документооборот 2․1 это набор критериев (виды документов, грифы, организации, группы контрагентов), по которым строится граница видимости․
- Группа доступа контрагентов — условный список клиентов/поставщиков, объединённых по признаку «свой/чужой»․
Этап 1․ Подготовка базы
Включить RLS в конфигурации
В конфигураторе открываем «Конфигурация → Свойства конфигурации → Дополнительные свойства» и устанавливаем флаг «Ограничивать права доступа на уровне записей»․
После установки флага требуется перезапустить 1С в режиме предприятия․
Создать необходимые справочники
- Справочник «Группы доступа контрагентов» (если его нет, добавляем как новый справочник с признаком Использовать стандартные команды RLS)․
- Для каждого контрагента в карточке заполняем реквизит «Группа доступа» (можно массово через обработку «Заполнение реквизитов»)․
Этап 2․ Создание роли с RLS-условием
Добавление новой роли
В конфигураторе переходим в ветку «Роли», создаём роль «МенеджерСвоихКлиентов»;
Настройка вкладки «Права доступа»
- Разрешить «Чтение» и «Запись» справочников Контрагенты, Договоры, Накладные․
- Запретить «Просмотр» регистра Себестоимость (пример)․
Настройка вкладки «Ограничения доступа» (RLS)
Для справочника Контрагенты добавляем условие:
&ТекущийПользователь․ГруппаДоступа = Контрагенты․ГруппаДоступа
Пояснение: пользователь видит только тех контрагентов, чья группа совпадает со значением в его собственной карточке․
Связать пользователя с ролью
- В 1С в режиме предприятия заходим «Администрирование → Пользователи и права → Пользователи»․
- Открываем карточку нужного сотрудника → вкладка «Роли» → добавляем роль «МенеджерСвоихКлиентов»․
Этап 3․ Настройка в типовых конфигурациях
1С:Управление торговлей
- Меню «Сервис → Группы доступа к контрагентам»․
- Создаём группы Центральный, Северный, Южный․
- Для каждой группы отмечаем контрагентов (кнопка «Выбрать»)․
- В «Пользователи» заполняем реквизит «Группа доступа к контрагентам»․
- Включаем флаг «Ограничивать доступ на уровне записей» (Администрирование → Настройки пользователей и прав → Группы доступа)․
1С:Документооборот 2․1
- Переходим в «Администрирование → Политики доступа»․
- Создаём политику «Менеджеры по регионам»․
- На вкладке «Разрезы» выбираем Группы доступа контрагентов и назначаем нужные значения․
- В «Участники политики» добавляем пользователей или рабочие группы․
Этап 4․ Проверка и отладка
- Открываем справочник Контрагенты под пользователем с ограниченной ролью․ Должны отображаться только «свои» записи․
- В форме списка документов Реализация товаров нажимаем «Настроить список» → добавляем колонку Контрагент → Группа доступа․ Убеждаемся, что лишние записи отсутствуют․
- Если нужен доступ по нескольким группам, в условии RLS пишем:
Контрагенты․ГруппаДоступа СЕСТЬ&ТекущийПользователь․ДоступныеГруппы
где ДоступныеГруппы — табличная часть пользователя․
Распространение ограничений
Как только RLS-условие применено к справочнику Контрагенты, система автоматически скрывает:
- Все документы, где указан «чужой» контрагент․
- Проводки по регистрам, связанные с этим контрагентом․
- Отчёты, содержащие данные по заблокированным контрагентам․
Типичные ошибки и их решения
| Ошибка | Причина | Решение |
|---|---|---|
| При открытии справочника «Контрагенты» выводится сообщение «Недостаточно прав» | Для справочника отключён флаг «Чтение» в роли | Разрешить «Чтение» и перепроверить RLS-условие |
| Менеджер видит все контрагентов | Не включён флаг «Ограничивать права доступа на уровне записей» | Включить флаг в конфигурации и в пользовательском режиме |
| Ошибка «Нет доступного сертификата для подписания» при 1С-ЭДО | RLS скрыл контрагента, а значит и его сертификат |
- Установлен флаг «Ограничивать права доступа на уровне записей» в конфигурации․
- Созданы группы доступа контрагентов и заполнены у контрагентов․
- Карточка пользователя содержит корректную группу доступа․
- Роль содержит RLS-условие и необходимые права на объекты․
- Роль назначена пользователю или рабочей группе․
- Проведено тестирование от имени пользователя․
С помощью описанных шагов вы обеспечите гибкое и безопасное разграничение данных по контрагентам в любой конфигурации 1С:Предприятие 8, минимизируя риски утечки коммерческой информации․