Как ограничить доступ к конкретным складам для пользователя в 1С:Управление торговлей 11.5 стандартными средствами?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В процессе работы с системой 1С:Управление торговлей 11.5 часто возникает необходимость разграничить зоны ответственности сотрудников. Типовая задача: запретить пользователю создавать документы перемещения или видеть остатки по определенным складам (например, Складу №1 и Складу №2). В этой статье мы разберем, как реализовать это ограничение стандартными методами, не прибегая к программированию и изменению конфигурации.

Понятие и настройка механизма RLS (Record Level Security)

Для решения поставленной задачи нам потребуется механизм ограничения доступа на уровне записей — RLS. Этот механизм позволяет фильтровать данные в базе таким образом, что пользователь видит только те записи (в нашем случае — склады и документы по ним), на которые у него есть права. Разберем по шагам, как активировать и настроить этот функционал.

Прежде всего, проанализируем настройки системы. Перейдем в раздел НСИ и администрирование — Настройка пользователей и прав. Здесь необходимо убедиться, что установлена галочка Ограничивать доступ на уровне записей. Рассмотрим важный технический нюанс: в современных версиях УТ 11 существует два режима работы этого ограничения:

  1. Стандартный: ограничения вычисляются динамически при каждом запросе. Это может замедлять работу системы при большом объеме данных.
  2. Производительный: система заранее готовит вспомогательные таблицы с правами доступа. Мы рекомендуем использовать именно этот режим, так как он значительно ускоряет формирование отчетов и проведение документов.

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

Настройка профиля группы доступа

Теперь выясним, как подготовить права — поможет инструмент подготовки профилей и ролей пользователей. Ограничения в 1С работают через связку «Профиль — Группа доступа — Пользователь». Разберем алгоритм настройки профиля:

  1. Перейдем в список Профили групп доступа.
  2. Найдем профиль, который используется вашим сотрудником (например, «Менеджер по продажам»), или создадим его копию для тестирования.
  3. На вкладке Виды доступа найдем строку Склады.
  4. Посмотрим на колонку Значения доступа. Здесь возможны две стратегии:
    • Все разрешены, исключения назначаются в группах доступа: этот вариант удобен, если пользователю можно видеть почти все склады, кроме одного-двух запрещенных.
    • Все запрещены, исключения назначаются в группах доступа: выбирайте этот вариант, если пользователю нужно разрешить работу только с одним конкретным Складом №1, а остальные должны быть скрыты.

Создание группы доступа и назначение складов

После настройки профиля нам нужно создать саму Группу доступа, которая свяжет конкретных пользователей с выбранными правилами. Рассмотрим этот процесс подробнее:

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

Проанализируем ситуацию: если мы добавим в список только Склад №1, то при попытке создать документ Перемещение товаров и выбрать в поле «Склад-получатель» Склад №2, пользователь просто не увидит его в списке выбора. Если же документ уже был создан ранее другим сотрудником, система выдаст ошибку нарушения прав доступа при попытке его открыть или провести.

Особенности документа «Перемещение товаров»

Документ Перемещение товаров имеет свою специфику в контексте RLS. Поскольку в нем фигурируют сразу два склада (Отправитель и Получатель), в 1С действует логика пересечения прав. Чтобы пользователь мог провести перемещение, у него должен быть доступ на Изменение к обоим складам, указанным в документе.

Если вы хотите разрешить пользователю перемещать товары со Склада №1, но запретить перемещение на Склад №2, вам достаточно ограничить доступ именно к Складу №2. В этом случае пользователь сможет выбрать Склад №1 в качестве отправителя, но поле получателя останется для него либо пустым, либо недоступным для выбора запрещенного склада.

Важно: следует различать права на Чтение и Изменение. Стандартный механизм позволяет настроить доступ так, что пользователь будет видеть остатки на Складе №2 в отчетах (чтение), но не сможет выбирать его в документах (редактирование). Это настраивается в самой группе доступа через детальные настройки прав.

Почему ограничения могут не сработать? Суммирование прав

Рассмотрим распространенную ошибку, когда администратор настроил ограничения, но пользователь по-прежнему видит все склады. Выясним причину этого поведения.

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

  1. Группа «Складские операции» (где доступ к складам ограничен).
  2. Группа «Менеджеры» (где доступ к складам не ограничен или установлен вид доступа «Все разрешены»).

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

Проверка корректности настроек

После завершения всех манипуляций проанализируем результат. Мы рекомендуем выполнить следующие действия:

  1. Зайдите в систему под именем этого пользователя (также может помочь внешняя проверка прав для быстрого распределения) — здесь поможет анализ и сравнение прав доступа RLS.
  2. Откройте справочник Склады и убедитесь, что в списке отсутствуют запрещенные объекты. Для более глубокого контроля можно использовать сравнение товаров на складах и товаров организаций.
  3. Попробуйте сформировать отчет Остатки и доступность товаров. Если RLS настроен верно, данные по запрещенным складам не попадут в отчет.
  4. Попробуйте создать Перемещение товаров. Проверьте, что в полях выбора склада доступны только разрешенные значения.

Если изменения не применились мгновенно, проверьте статус регламентных заданий в разделе Обслуживание — Регламентные и фоновые задания. Найдите задание Заполнение данных для ограничения доступа и убедитесь, что оно выполнено без ошибок. В режиме «Производительный» это критически важно для актуализации прав доступа в системе.

Таким образом, мы видим, что 1С:Управление торговлей 11.5 предоставляет мощный инструментарий для гибкой настройки прав доступа без изменения программного кода. Использование профилей и групп доступа совместно с механизмом RLS позволяет реализовать практически любую схему ограничения прав на уровне конкретных складов, подразделений или организаций.

← На главную