Администрирование · 13 мин
Как настроить в 1С, чтобы пользователь видел только свои документы
Пошаговая настройка RLS в 1С: профили групп доступа, шаблоны ограничений, проверка результата и типичные ошибки при ограничении видимости документов.
Задача ограничить пользователю видимость чужих документов возникает почти в каждой базе 1С: менеджеры не должны видеть сделки коллег, кладовщики — документы других складов, а бухгалтеры филиалов — операции головного офиса. Удалённое ограничение прав на уровне интерфейса (скрыть кнопку или журнал) не решает проблему: пользователь всё равно сможет открыть данные через отчёты, поиск или подбор в документе.
Корректный механизм в типовых конфигурациях 1С — это RLS (Record Level Security, ограничение доступа на уровне записей). Он работает на уровне запросов к базе данных: платформа автоматически добавляет условие отбора к каждому обращению пользователя, поэтому «лишние» записи не видны ни в списках, ни в отчётах, ни при программном обращении.
Ниже разобрана настройка на примере типовых конфигураций на БСП (Управление торговлей, ERP, Бухгалтерия предприятия, ЗУП): включение механизма, создание профиля, шаблоны ограничений, проверка результата и типичные ошибки. Для самописных конфигураций принцип тот же, но шаблоны RLS придётся писать вручную в конфигураторе.
Как работает ограничение RLS и когда оно нужно
RLS — это механизм платформы 1С, который подставляет дополнительное условие ГДЕ во все запросы к таблицам, для которых настроено ограничение. Например, если задано условие «Ответственный = текущий пользователь», то при открытии списка реализаций менеджер физически получит из базы только свои документы — платформа отфильтрует остальные ещё на уровне СУБД.
Это принципиально отличается от обычных прав на объекты (чтение, добавление, изменение), которые определяют, можно ли вообще работать с видом документов. RLS отвечает на другой вопрос: какие именно записи внутри разрешённого вида документов доступны конкретному человеку.
Настраивать RLS стоит, когда между сотрудниками есть реальное разграничение зон ответственности: по менеджерам, складам, организациям, подразделениям. Если же цель — просто убрать случайные ошибки (чтобы менеджер не исправил чужой документ), иногда достаточно запрета изменения чужих документов через даты запрета редактирования или отдельную роль без полного скрытия данных.
Шаг 1. Включите ограничение доступа на уровне записей
В типовых конфигурациях на Библиотеке стандартных подсистем RLS по умолчанию часто выключен, и шаблоны ограничений не применяются, даже если они заполнены. Сначала включите механизм: откройте раздел Администрирование → Настройки прав и пользователей и установите флажок «Ограничивать доступ на уровне записей». В некоторых конфигурациях путь выглядит как НСИ и администрирование → Настройка прав и пользователей.
После включения флажка перезапустите сеансы пользователей или попросите их перезайти в программу: настройки доступа кэшируются при входе, и без перезапуска сеанса ограничения могут не примениться. В файловой базе достаточно перезапуска клиента, в клиент-серверной — сеанс пересоздаётся при следующем входе.
Проверьте, что у вас самих есть права администратора или права на управление настройками прав. Без них раздел настройки будет недоступен или откроется только на просмотр.
Шаг 2. Определите, по какому признаку отделять «свои» документы
Прежде чем создавать профиль, решите, что именно считается «своим» документом. От этого зависит выбор шаблона ограничения. Самые распространённые варианты разграничения:
- По ответственному (менеджеру) — пользователь видит документы, где он указан ответственным. Подходит для менеджеров по продажам.
- По автору — видны только документы, которые пользователь создал сам. Минус: документ, созданный за него коллегой, он не увидит.
- По складу — кладовщик видит документы только своего склада.
- По организации — сотрудник филиала работает только со своей организацией.
- По подразделению — доступ к документам своего отдела.
В типовых конфигурациях для этих сценариев уже есть готовые виды доступа: «Пользователи», «Склады», «Организации», «Подразделения», «Группы партнёров» и другие. Если нужного вида доступа нет, шаблон RLS придётся дорабатывать в конфигураторе — это уже задача для разработчика.
Как выбрать признак разграничения
Шаг 3. Создайте профиль группы доступа
Профиль — это набор ролей и разрешённых видов доступа, который затем назначается пользователям через группы доступа. Откройте Администрирование → Настройки прав и пользователей → Профили групп доступа и создайте новый профиль, например «Менеджер (только свои документы)».
На вкладке «Разрешённые роли» отметьте роли, необходимые для работы: базовые роли подсистем (чтение и изменение нужных документов, работа с отчётами) и обязательно базовые роли БСП, иначе пользователь не сможет даже войти в программу. Проще всего скопировать существующий типовой профиль (например, «Менеджер по продажам») и добавить к нему ограничения.
На вкладке «Виды доступа» отметьте те виды, по которым будет действовать ограничение: «Пользователи» (для ограничения по ответственному/автору), «Склады», «Организации» и т.д. Для вида доступа установите вариант использования — обычно «Все разрешены, исключения назначаются в группах доступа» или наоборот «Все запрещены, разрешения назначаются в группах доступа». Второй вариант безопаснее: пока администратор явно не разрешил значение, пользователь его не увидит.
- 1Скопируйте типовой профиль или создайте новый в разделе «Профили групп доступа»
- 2Отметьте разрешённые роли, включая базовые роли БСП
- 3На вкладке «Виды доступа» включите нужные виды: Пользователи, Склады, Организации
- 4Установите вариант «Все запрещены, разрешения назначаются в группах доступа»
- 5Сохраните профиль и перейдите к созданию группы доступа
Шаг 4. Создайте группу доступа и добавьте пользователей
Профиль сам по себе ничего не делает — он применяется через группу доступа. Откройте Группы доступа, создайте новую группу, укажите в ней созданный профиль и добавьте пользователей на вкладке «Участники».
На вкладке «Разрешённые значения» (или «Значения доступа») задайте конкретные значения видов доступа. Здесь есть важный приём: для вида доступа «Пользователи» можно указать значение «Текущий пользователь» (или пользователя группы) — тогда каждый участник группы автоматически получит доступ только к документам, где ответственным указан он сам. Это избавляет от необходимости создавать отдельную группу для каждого менеджера.
Для складов и организаций значения задаются явно: например, группа «Кладовщики склада №2» с разрешённым значением «Склад №2». Один пользователь может входить в несколько групп доступа — тогда его права и разрешённые значения объединяются (складываются по принципу «разрешено хотя бы в одной группе»).
Если менеджеров много, используйте одну общую группу доступа со значением «Текущий пользователь» для вида доступа «Пользователи». Это одна настройка вместо десятков отдельных групп, и нового сотрудника достаточно просто добавить в участники.
Шаг 5. Проверьте результат под пользователем
Настройку RLS нельзя считать завершённой без проверки под реальной учётной записью. Зайдите в базу под пользователем из настроенной группы и проверьте ключевые сценарии: список документов, отчёты, подбор в документ, глобальный поиск.
Проверять нужно не только то, что чужие документы скрыты, но и то, что свои — видны полностью, и работа не блокируется. Частая ситуация: ограничение применилось, но пользователь потерял доступ к связанным данным (контрагентам, договорам), потому что вид доступа действует и на справочники.
Как проверить результат
Видны только документы, где пользователь — ответственный (или свой склад/организация)
Видны все документы — RLS не включён или профиль не назначен
Данные только по своим документам
Отчёт показывает чужие данные — отчёт не учитывает RLS или пользователь в группе с полным доступом
Документ записывается, ответственный подставляется автоматически
Ошибка записи «нарушение прав доступа» — документ не проходит под шаблон ограничения
Карточка открывается
«Объект не найден» — вид доступа режет связанные справочники
Типичные ошибки и ограничения механизма
Самая частая ошибка — настроить профиль, но забыть включить сам флажок RLS в настройках программы. Вторая по частоте — пользователь состоит в нескольких группах доступа, и одна из них (например, старая группа «Полные права» или «Все пользователи») даёт неограниченный доступ, перекрывая ограничения. Права в 1С суммируются: запретить через дополнительную группу нельзя.
Третья проблема — производительность. Шаблоны RLS с соединениями таблиц (например, проверка через реквизит реквизита) на больших базах могут сделать открытие списков заметно медленным. Если после включения RLS пользователи жалуются на «тормоза», упростите шаблон или включите группы доступа в режиме производительности (в БСП есть настройка кэширования и упрощённого режима для видов доступа).
Ещё одно ограничение: RLS не скрывает сам факт существования записей везде. Нумерация документов общая, поэтому по пропускам в номерах можно косвенно судить о чужих документах. Полностью неразличимым наличие чужих данных сделать нельзя — и для большинства задач это не требуется.
Альтернативы RLS для простых сценариев
Не всегда нужен полноценный RLS. Если задача — только запретить редактирование чужих документов, а просматривать их можно, достаточно настроить даты запрета изменения данных и раздать роли без права интерактивного удаления. Это проще и не влияет на производительность.
Другой вариант — разделение баз: для филиалов с полностью автономной работой иногда проще использовать распределённую информационную базу или синхронизацию с отбором по организации, чем строить сложную систему ограничений в одной базе.
Сравнение подходов
Полное скрытие чужих документов во всех режимах. Требует аккуратной настройки и влияет на скорость запросов
Пользователь видит чужие документы, но не может их править. Просто, быстро, но не подходит при конфиденциальности данных
Максимальная изоляция, но усложняет консолидированную отчётность и администрирование
Частые вопросы
Пользователь создал документ, но не видит его в списке. Что случилось?
Скорее всего, ограничение настроено по ответственному, а в документе поле «Ответственный» не заполнено или заполнено другим сотрудником. Проверьте значение поля в созданном документе и настройте автоматическое заполнение ответственного текущим пользователем в параметрах учётной записи или через подписку на событие.
Можно ли дать руководителю доступ к документам всех подчинённых?
Да. Включите руководителя в отдельную группу доступа, где для вида доступа «Пользователи» перечислены все его подчинённые (или используйте значение «Все разрешены» для этого вида). Права суммируются, поэтому он будет видеть и свои документы, и документы команды.
Работает ли ограничение в отчётах и при обмене данными?
В отчётах на СКД и встроенных отчётах RLS применяется автоматически — пользователь увидит только разрешённые данные. При обмене данными (например, выгрузке в другую базу) RLS на стороне выгрузки обычно не фильтрует, если обмен выполняется под служебным пользователем с полными правами, — это нужно учитывать при проектировании интеграций.
Что делать, если после включения RLS база стала работать медленно?
Проверьте шаблоны ограничений: соединения с другими таблицами и вложенные запросы сильно нагружают СУБД. Упростите шаблон до прямого сравнения реквизита, убедитесь, что по полям ограничения (ответственный, склад, организация) есть индексы, и рассмотрите включение производительного режима групп доступа в настройках БСП.
Можно ли настроить ограничение в самописной конфигурации без БСП?
Да, механизм RLS — часть платформы и работает в любой конфигурации. Но без БСП не будет профилей и групп доступа: шаблоны ограничений задаются в конфигураторе напрямую в ролях (закладка «Шаблоны ограничений»), а параметры текущего пользователя передаются через параметры сеанса. Это требует доработки кода и обычно выполняется разработчиком.
Как временно дать пользователю полный доступ, не ломая настройку?
Создайте отдельную группу доступа с профилем без ограничений по видам доступа и включите в неё пользователя на нужный период. Поскольку права суммируются, он сразу получит полный доступ. По окончании работ просто исключите его из этой группы — основная настройка ограничений останется нетронутой.
Что важно запомнить
Видимость только своих документов настраивается через RLS: включите флажок в настройках прав, создайте профиль с нужными видами доступа, привяжите его к группе доступа со значением «Текущий пользователь» и обязательно проверьте результат под реальной учётной записью. Помните, что права в 1С суммируются, а сложные шаблоны RLS влияют на производительность.