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