Создание кастомных профилей доступа в 1С:Бухгалтерия предприятием 3.0 (БП 3.0) — задача не самая тривиальная. Это связано с тем, что конфигурация построена на базе Библиотеки стандартных подсистем (БСП), где права на объекты жестко переплетены с правами на интерфейс, базовыми системными функциями и механизмами ограничения доступа на уровне записей (RLS). Мы часто сталкиваемся с ситуацией, когда добавление роли на конкретный документ (например, Поступление (акты, накладные, УПД)) не дает желаемого результата: пользователь либо не видит раздел в интерфейсе, либо получает ошибку "Недостаточно прав доступа" при попытке открыть форму.
В этой статье мы разберем алгоритм создания профиля "Инженер", проанализируем типичные ошибки и выясним, какие вспомогательные роли и объекты необходимо включить в профиль для полноценной работы разделов "Покупки" и "Производство".
Разберем практический подход, который помог решить проблему. Вместо того чтобы пытаться собрать роль "с нуля" в Конфигураторе, проанализируем структуру прав в схожих по смыслу объектах. Если нам нужно настроить доступ к документам ПТиУ (Поступление товаров и услуг), логично посмотреть, как устроены права на РТиУ (Реализация товаров и услуг).
Рассмотрим последовательность действий:
ЧтениеПродаж или специализированные роли по реализации)._РольИнженер права на чтение, добавление и изменение для объекта Документ.ПоступлениеТоваровУслуг.Подсистема.Покупки и её дочерняя подсистема Подсистема.Покупки.ПокупкиГлавное.Проанализируем ситуацию: простого добавления прав на документ недостаточно. Если у пользователя нет прав на просмотр Подсистемы, пункт меню просто не появится в интерфейсе, даже если на сами данные права есть.
В современных конфигурациях 1С (на управляемых формах) нельзя давать пользователю только одну роль на конкретный документ. Для работы инфраструктуры приложения профиль должен обязательно включать так называемый "системный минимум".
При настройке профиля в режиме "1С:Предприятие" (раздел Администрирование — Настройки пользователей и прав — Профили групп доступа) обязательно включим следующие роли:
Выясним причину ошибки "Недостаточно прав" при открытии формы документа. Часто она кроется в том, что при открытии формы ПТиУ или ОтчетПроизводстваЗаСмену система программно обращается к справочникам, на которые у пользователя нет прав даже на чтение. К таким объектам относятся:
РегистрСведений.СчетаУчетаНоменклатуры — используется для автоматической подстановки счетов.Справочник.Склады и Справочник.ПодразделенияОрганизаций.РегистрСведений.ЦеныНоменклатуры — если в документе настроено автозаполнение цен.Если мы настроили роль, но ошибка "Недостаточно прав" сохраняется, а Журнал регистрации (ЖР) молчит, воспользуемся следующими приемами.
Анализ через Конфигуратор:
Запустим отладку под пользователем с ограниченными правами. В меню "Отладка — Остановка по ошибке" включим флаг "Останавливаться по ошибке". Часто система выбрасывает исключение именно в тот момент, когда срабатывает проверка ПравоДоступа() в коде модуля формы ПриСозданииНаСервере. Это позволит нам точно определить объект метаданных, которого не хватает в роли.
Использование встроенного отчета:
В БП 3.0 есть отличный инструмент. Перейдем в список Профили групп доступа, выделим наш профиль и нажмем кнопку Отчет по правам доступа. Проанализируем таблицу: если в колонке "Чтение" стоит "Нет" для объектов, которые визуально присутствуют в форме документа (например, СтатьиЗатрат для производства), это и есть причина ошибки.
Посмотрим на пример кода, который может вызывать ошибку, если прав недостаточно:
// Пример программной проверки в модуле формы
Если НЕ ПравоДоступа("Чтение", Метаданные.РегистрыСведений.ЦеныНоменклатуры) Тогда
// Если прав нет, форма может выдать ошибку или заблокировать работу
ВызватьИсключение "Недостаточно прав для работы с ценами номенклатуры!";
КонецЕсли;
Для инженера раздел "Производство" является ключевым. Рассмотрим подробнее, какие специфические объекты должны быть доступны в профиле, помимо основных документов:
Отчет производства за смену.Иногда права на объекты есть, но "плитки" разделов в главном меню отсутствуют. Разберем, как это исправить:
В режиме "1С:Предприятие" под пользователем с полными правами перейдем в Настройки — Настройка навигации. Убедимся, что нужные команды добавлены в интерфейс. Если же мы работаем в Конфигураторе, воспользуемся пунктом "Все роли" (вызывается правой кнопкой мыши на корне дерева метаданных). Там удобно визуально проверить, какие подсистемы отмечены "галками" для нашей новой роли.
Подводя итог, создание профиля "Инженер" — это процесс итерационный. Сначала добавляем базовые роли БП, затем основные документы (ПТиУ, Производство), а далее по Журналу регистрации или отчету по правам "добираем" права на справочники и регистры сведений, к которым обращается система в процессе работы. Такой структурный подход позволит создать безопасный и функциональный профиль без предоставления избыточных прав администратора.