К статье
Практический материал

Администрирование · 12 мин

Как ограничить доступ контрагента в 1С

Как ограничить доступ контрагента в 1С: настройка профилей групп доступа, RLS-ограничения на уровне записей, проверка результата и типичные ошибки.

Под «ограничением доступа контрагента» в 1С обычно понимают две разные задачи. Первая — ограничить права пользователя-контрагента (внешнего пользователя), который заходит в базу через веб-клиент или мобильное приложение, например в 1С:Управление нашей фирмой или 1С:Управление торговлей с личным кабинетом. Вторая — разграничить доступ сотрудников к справочнику «Контрагенты»: чтобы менеджер видел только своих клиентов, а бухгалтер — всех. Оба сценария решаются механизмом групп доступа и ограничением прав на уровне записей (RLS).

Ключевой инструмент во всех современных конфигурациях на Библиотеке стандартных подсистем (БСП) — это профили групп доступа и сами группы доступа. Профиль определяет, какие роли и действия разрешены, а группа доступа связывает пользователя с конкретными значениями ограничения: организацией, складом, контрагентом, подразделением. Именно связка «пользователь → группа доступа → значения доступа» позволяет показать менеджеру только его клиентов, не трогая код конфигурации.

Прежде чем настраивать, уточните у руководителя или постановщика задачи, что именно нужно скрыть: весь справочник контрагентов, часть записей, связанные документы (заказы, счета, реализации) или отчёты. От этого зависит выбор механизма: простые роли, группы доступа с RLS или отдельная учётная запись внешнего пользователя с жёстко урезанным профилем.

Определяем сценарий: внешний пользователь или сотрудник

Первый шаг — понять, кого именно нужно ограничить. Внешний пользователь — это учётная запись, связанная с элементом справочника «Контрагенты» или «Контактные лица». Он входит в базу и видит только свои документы: заказы, счета, акты. Такой механизм типичен для 1С:УНФ, 1С:Комплексная автоматизация и отраслевых решений с клиентским порталом.

Внутренний пользователь — сотрудник компании. Ему доступ ограничивают по-другому: через группы доступа к справочникам и документам. Например, менеджер Иванов работает только с контрагентами из своей папки или с теми, где он указан ответственным. Здесь работает RLS — ограничение доступа на уровне записей, которое фильтрует данные прямо в запросах платформы.

Смешивать эти сценарии нельзя: внешний пользователь технически не может получить профиль сотрудника, а сотрудник не должен входить как внешний пользователь. Если задача звучит как «контрагент не должен видеть чужие данные» — это сценарий внешнего пользователя. Если «менеджер не должен видеть клиентов коллеги» — это RLS для внутренних пользователей.

Маршрут решения

Как выбрать действие

В базу заходит сам контрагент (клиент, поставщик)Создайте внешнего пользователя и назначьте ему профиль с минимальными правами, привязанный к его карточке контрагента
Сотрудник не должен видеть чужих контрагентовНастройте группы доступа с видом доступа «Контрагенты» и значениями «только разрешённые»
Нужно скрыть только отдельные документы или отчётыУберите соответствующие роли из профиля группы доступа пользователя
Требуется полностью закрыть справочник контрагентовСнимите роли чтения справочника в профиле и проверьте, что нет других профилей, дающих этот доступ

Включаем механизм групп доступа

Ограничение доступа на уровне записей в типовых конфигурациях по умолчанию часто выключено. Проверьте настройку: откройте «Администрирование → Настройки прав и пользователей» (в некоторых конфигурациях — «Настройка → Администрирование → Пользователи и права»). Установите флажок «Группы доступа» или «Ограничивать доступ на уровне записей», если он снят.

После включения флажка платформа начнёт применять RLS-шаблоны ко всем запросам к разграничиваемым объектам. Учтите: это может замедлить выполнение тяжёлых отчётов, особенно в больших базах, потому что к каждому запросу добавляются условия отбора. На базах со средним объёмом данных эффект обычно незаметен.

Также проверьте, что пользователи, которым нужен полный доступ (директор, главный бухгалтер, администратор), входят в группу «Администраторы» или имеют профиль с правом «Все значения доступа». Иначе после включения ограничений они тоже потеряют часть данных.

Настраиваем профиль для внешнего пользователя-контрагента

Если контрагент сам заходит в базу, создайте для него отдельный профиль. Откройте «Администрирование → Пользователи и права → Профили групп доступа» и создайте новый профиль, например «Клиент (внешний)». Включите в него только те роли, которые действительно нужны: чтение своих заказов, счетов, актов, возможность создавать заказ. Никаких ролей на справочник «Контрагенты» целиком, отчёты по продажам или регистры остатков быть не должно.

Принцип минимальных прав обязателен: проще добавить роль позже по запросу, чем обнаружить, что клиент видел цены конкурентов или чужие отгрузки. В типовых конфигурациях часто уже есть готовый профиль для внешних пользователей — используйте его как основу, скопировав и убрав лишнее.

Порядок создания внешнего пользователя
  1. 1
    Откройте карточку контрагента в справочнике «Контрагенты»
  2. 2
    Перейдите по ссылке «Внешние пользователи» или откройте одноимённый справочник через «Администрирование»
  3. 3
    Создайте нового внешнего пользователя — поле объекта авторизации заполнится ссылкой на контрагента автоматически
  4. 4
    Задайте имя входа и пароль, при необходимости включите аутентификацию через стандартный механизм платформы
  5. 5
    Назначьте пользователю созданный урезанный профиль через группу доступа внешних пользователей
  6. 6
    Войдите под этой учётной записью и проверьте, что видны только документы данного контрагента

После создания пользователя обязательно проверьте вход под ним. Признак правильной настройки: в списках документов отображаются только записи, где этот контрагент указан в шапке; справочник «Контрагенты» либо недоступен, либо показывает одну карточку; отчёты и обработки отсутствуют в интерфейсе.

Ограничиваем сотрудникам видимость чужих контрагентов

Для внутренних пользователей механизм другой. Откройте «Администрирование → Группы доступа» и создайте группу, например «Менеджеры — свои контрагенты». В группе укажите профиль с нужными ролями и настройте вид доступа «Контрагенты»: либо перечислите конкретных контрагентов (или их группы), либо выберите вариант «Все разрешены, без исключений» / «Только указанные значения» в зависимости от логики конфигурации.

В конфигурациях, где в карточке контрагента есть поле «Основной менеджер» или «Ответственный», удобнее разграничивать по группам контрагентов: создайте в справочнике папки по менеджерам или регионам и раздавайте доступ на папки. Это проще сопровождать, чем перечислять контрагентов по одному — новый клиент автоматически попадёт в нужную папку и станет виден нужному менеджеру.

Важно понимать, как складываются права: если пользователь входит в несколько групп доступа, действует объединение разрешений. Достаточно одной группы с полным доступом, чтобы ограничения остальных перестали работать. Поэтому при расследовании «почему менеджер видит всё» первым делом проверяйте полный список его групп.

Проверяем результат и контролируем права

После настройки обязательно выполните проверку двумя способами. Первый — технический: в разделе «Администрирование → Пользователи и права» есть отчёт «Права доступа» (или «Анализ прав доступа»). Сформируйте его по пользователю — он покажет, какие роли и значения доступа реально действуют и из какой группы они взялись.

Второй способ — практический: войдите в базу под учётной записью ограниченного пользователя (или попросите его самого) и пройдите типовые операции. Откройте список контрагентов, документы, попробуйте создать документ по чужому контрагенту через подбор. RLS отсекает данные и в подборе, и в отчётах, но проверить стоит именно те формы, которыми пользователь реально пользуется.

Контрольные точки

Как проверить результат

Список контрагентов у ограниченного пользователя
Норма

Видны только разрешённые контрагенты или группы

Тревожный признак

Отображается весь справочник — значит, есть группа с полным доступом

Документы по чужим контрагентам
Норма

Документы не отображаются и не открываются по прямой ссылке

Тревожный признак

Документ открывается по ссылке из истории — RLS не применён к объекту

Отчёты по продажам и взаиморасчётам
Норма

Данные только по разрешённым контрагентам

Тревожный признак

В отчёте видны все клиенты — у профиля лишняя роль или отчёт не учитывает RLS

Отчёт «Права доступа» по пользователю
Норма

Перечислены только нужные группы и профили

Тревожный признак

Найдены лишние группы доступа с широкими правами

Типичные ошибки и ограничения механизма

Самая частая ошибка — попытка ограничить доступ через снятие флажков в интерфейсе или скрытие команд меню. Скрытая кнопка не означает запрет: пользователь может открыть объект через «Все функции», поиск или переход по ссылке. Настоящее ограничение дают только роли и RLS.

Вторая ошибка — забыть про отчёты и регистры. Если менеджеру запретили справочник контрагентов, но оставили отчёт по взаиморасчётам без учёта RLS, он увидит всех клиентов через отчёт. Проверяйте, что ограничение применяется ко всем объектам, где фигурирует контрагент: документам, регистрам накопления и сведений, отчётам.

Третья проблема — производительность. RLS добавляет условия в каждый запрос, и на больших базах с десятками тысяч контрагентов сложные разграничения могут замедлить работу. Если отчёты стали выполняться заметно дольше, пересмотрите схему: разграничение по группам контрагентов обычно легче для платформы, чем по индивидуальным значениям.

Типичные ошибки
01
Скрытие команд интерфейса вместо настройки ролей — данные остаются доступны через поиск и прямые ссылки
02
Пользователь состоит в нескольких группах, одна из которых даёт полный доступ — ограничения остальных групп не работают
03
Забытые отчёты и регистры без RLS — чужие контрагенты «просачиваются» через аналитику
04
Права настроены, но не проверены входом под пользователем — ошибка обнаруживается после утечки данных
05
Внешнему пользователю назначен типовой широкий профиль — клиент видит чужие документы и цены

Наконец, помните о границе самостоятельной работы: если типовых механизмов групп доступа не хватает (например, нужно разграничение по произвольному условию — региону из адреса, сумме долга), потребуется доработка RLS-шаблонов в конфигураторе. Это работа для программиста 1С, а не администратора: ошибка в шаблоне ограничения может либо открыть лишнее, либо заблокировать работу всех пользователей.

Итог

Что важно запомнить

Доступ контрагента ограничивают через профили и группы доступа: внешнему пользователю — урезанный профиль с привязкой к его карточке, сотрудникам — группы доступа со значениями «только свои контрагенты» через RLS. Настройку всегда проверяйте отчётом «Права доступа» и входом под ограниченной учётной записью, а перед включением RLS на рабочей базе делайте резервную копию.

Частые вопросы

Контрагент видит чужие документы, хотя профиль урезанный. Что проверить?

Проверьте, в какие ещё группы доступа входит пользователь — права суммируются, и одна широкая группа перекрывает все ограничения. Затем сформируйте отчёт «Права доступа» по этому пользователю: он покажет источник каждой роли. Также убедитесь, что учётная запись — именно внешний пользователь, привязанный к контрагенту, а не обычный пользователь с похожим именем.

Можно ли ограничить доступ без включения RLS?

Частично — да. Роли позволяют запретить доступ к целым объектам: справочнику, документам, отчётам. Но разграничить записи внутри одного объекта (своих и чужих контрагентов) без RLS невозможно — для этого механизм ограничения на уровне записей и предназначен.

Почему после включения групп доступа у части сотрудников пропали данные?

После активации RLS пользователи без настроенных значений доступа теряют записи, к которым раньше имели полный доступ. Назначьте им группы доступа с нужными значениями или значением «все разрешены». Администраторам и руководителям, которым нужен полный объём данных, проверьте наличие соответствующего профиля.

Как дать менеджеру доступ только к контрагентам своей папки справочника?

Создайте группу доступа, в виде доступа «Контрагенты» укажите нужную группу (папку) справочника как значение. Новые элементы, созданные в этой папке, будут автоматически доступны участникам группы. При переносе контрагента в другую папку доступ изменится автоматически — это удобнее, чем перечислять контрагентов по одному.

Замедлится ли работа базы после включения ограничений на уровне записей?

RLS добавляет условия отбора в запросы платформы, поэтому некоторая дополнительная нагрузка появляется всегда. На небольших и средних базах она обычно незаметна. Если отчёты стали выполняться ощутимо дольше, упростите схему разграничения: используйте группы контрагентов вместо длинных списков отдельных значений и проверьте индексацию по полям, участвующим в отборе.

Можно ли ограничить контрагенту доступ только к своим счетам, но не к заказам?

Да. В профиле внешнего пользователя включите роли только на чтение счетов и не включайте роли на заказы. Привязка к контрагенту через объект авторизации внешнего пользователя обеспечит фильтрацию «только свои» документы, а состав ролей определит, какие виды документов вообще доступны.