В процессе работы с системой 1С:Управление торговлей 11.5 часто возникает необходимость разграничить зоны ответственности сотрудников. Типовая задача: запретить пользователю создавать документы перемещения или видеть остатки по определенным складам (например, Складу №1 и Складу №2). В этой статье мы разберем, как реализовать это ограничение стандартными методами, не прибегая к программированию и изменению конфигурации.
Для решения поставленной задачи нам потребуется механизм ограничения доступа на уровне записей — RLS. Этот механизм позволяет фильтровать данные в базе таким образом, что пользователь видит только те записи (в нашем случае — склады и документы по ним), на которые у него есть права. Разберем по шагам, как активировать и настроить этот функционал.
Прежде всего, проанализируем настройки системы. Перейдем в раздел НСИ и администрирование — Настройка пользователей и прав. Здесь необходимо убедиться, что установлена галочка Ограничивать доступ на уровне записей. Рассмотрим важный технический нюанс: в современных версиях УТ 11 существует два режима работы этого ограничения:
После включения режима «Производительный» система запустит фоновое задание Заполнение данных для ограничения доступа. Пока оно не завершится, новые настройки прав могут не вступить в силу.
Теперь выясним, как подготовить права — поможет инструмент подготовки профилей и ролей пользователей. Ограничения в 1С работают через связку «Профиль — Группа доступа — Пользователь». Разберем алгоритм настройки профиля:
Склады.После настройки профиля нам нужно создать саму Группу доступа, которая свяжет конкретных пользователей с выбранными правилами. Рассмотрим этот процесс подробнее:
Создадим новую группу доступа и выберем в ней наш настроенный профиль. На вкладке Склады (название вкладки может меняться в зависимости от выбранного профиля) мы увидим список складов. Если в профиле мы указали «Все запрещены», то в табличную часть нужно добавить только те склады, с которыми пользователю разрешено работать.
Проанализируем ситуацию: если мы добавим в список только Склад №1, то при попытке создать документ Перемещение товаров и выбрать в поле «Склад-получатель» Склад №2, пользователь просто не увидит его в списке выбора. Если же документ уже был создан ранее другим сотрудником, система выдаст ошибку нарушения прав доступа при попытке его открыть или провести.
Документ Перемещение товаров имеет свою специфику в контексте RLS. Поскольку в нем фигурируют сразу два склада (Отправитель и Получатель), в 1С действует логика пересечения прав. Чтобы пользователь мог провести перемещение, у него должен быть доступ на Изменение к обоим складам, указанным в документе.
Если вы хотите разрешить пользователю перемещать товары со Склада №1, но запретить перемещение на Склад №2, вам достаточно ограничить доступ именно к Складу №2. В этом случае пользователь сможет выбрать Склад №1 в качестве отправителя, но поле получателя останется для него либо пустым, либо недоступным для выбора запрещенного склада.
Важно: следует различать права на Чтение и Изменение. Стандартный механизм позволяет настроить доступ так, что пользователь будет видеть остатки на Складе №2 в отчетах (чтение), но не сможет выбирать его в документах (редактирование). Это настраивается в самой группе доступа через детальные настройки прав.
Рассмотрим распространенную ошибку, когда администратор настроил ограничения, но пользователь по-прежнему видит все склады. Выясним причину этого поведения.
В 1С реализован принцип разрешающей логики: пользователю разрешено всё то, что разрешено хотя бы в одной из его групп доступа — для контроля пригодится администрирование ролей и прав пользователей 1С. Если ваш сотрудник одновременно входит в две группы доступа:
В такой ситуации ограничение не сработает. Чтобы настройки вступили в силу, необходимо проверить все группы доступа, в которых состоит пользователь (используя отчеты пользователи, роли и профили доступа), и во всех них настроить ограничение по виду доступа Склады — для этого подойдёт отчет по ролям и профилям доступа пользователей.
После завершения всех манипуляций проанализируем результат. Мы рекомендуем выполнить следующие действия:
Склады и убедитесь, что в списке отсутствуют запрещенные объекты. Для более глубокого контроля можно использовать сравнение товаров на складах и товаров организаций.Остатки и доступность товаров. Если RLS настроен верно, данные по запрещенным складам не попадут в отчет.Перемещение товаров. Проверьте, что в полях выбора склада доступны только разрешенные значения.Если изменения не применились мгновенно, проверьте статус регламентных заданий в разделе Обслуживание — Регламентные и фоновые задания. Найдите задание Заполнение данных для ограничения доступа и убедитесь, что оно выполнено без ошибок. В режиме «Производительный» это критически важно для актуализации прав доступа в системе.
Таким образом, мы видим, что 1С:Управление торговлей 11.5 предоставляет мощный инструментарий для гибкой настройки прав доступа без изменения программного кода. Использование профилей и групп доступа совместно с механизмом RLS позволяет реализовать практически любую схему ограничения прав на уровне конкретных складов, подразделений или организаций.