Как создать профиль групп доступа Инженер в 1С:Бухгалтерия 3.0 и устранить ошибки доступа

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Управленческий учет Промышленность, строительство и АПК
← На главную

Создание кастомных профилей доступа в 1С:Бухгалтерия предприятием 3.0 (БП 3.0) — задача не самая тривиальная. Это связано с тем, что конфигурация построена на базе Библиотеки стандартных подсистем (БСП), где права на объекты жестко переплетены с правами на интерфейс, базовыми системными функциями и механизмами ограничения доступа на уровне записей (RLS). Мы часто сталкиваемся с ситуацией, когда добавление роли на конкретный документ (например, Поступление (акты, накладные, УПД)) не дает желаемого результата: пользователь либо не видит раздел в интерфейсе, либо получает ошибку "Недостаточно прав доступа" при попытке открыть форму.

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

Метод 1. Использование типовых ролей в качестве шаблона

Разберем практический подход, который помог решить проблему. Вместо того чтобы пытаться собрать роль "с нуля" в Конфигураторе, проанализируем структуру прав в схожих по смыслу объектах. Если нам нужно настроить доступ к документам ПТиУ (Поступление товаров и услуг), логично посмотреть, как устроены права на РТиУ (Реализация товаров и услуг).

Рассмотрим последовательность действий:

  1. Откроем Конфигуратор и найдем роль, отвечающую за работу с продажами (например, ЧтениеПродаж или специализированные роли по реализации).
  2. Возьмем её за основу и добавим в нашу новую роль _РольИнженер права на чтение, добавление и изменение для объекта Документ.ПоступлениеТоваровУслуг.
  3. Важный нюанс: Чтобы документ отобразился в интерфейсе "Предприятия", необходимо предоставить права на просмотр всей цепочки подсистем. Для ПТиУ это Подсистема.Покупки и её дочерняя подсистема Подсистема.Покупки.ПокупкиГлавное.

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

Метод 2. Обязательный набор базовых ролей

В современных конфигурациях 1С (на управляемых формах) нельзя давать пользователю только одну роль на конкретный документ. Для работы инфраструктуры приложения профиль должен обязательно включать так называемый "системный минимум".

При настройке профиля в режиме "1С:Предприятие" (раздел Администрирование — Настройки пользователей и прав — Профили групп доступа) обязательно включим следующие роли:

Выясним причину ошибки "Недостаточно прав" при открытии формы документа. Часто она кроется в том, что при открытии формы ПТиУ или ОтчетПроизводстваЗаСмену система программно обращается к справочникам, на которые у пользователя нет прав даже на чтение. К таким объектам относятся:

Метод 3. Диагностика через Журнал регистрации и отладку

Если мы настроили роль, но ошибка "Недостаточно прав" сохраняется, а Журнал регистрации (ЖР) молчит, воспользуемся следующими приемами.

Анализ через Конфигуратор:

Запустим отладку под пользователем с ограниченными правами. В меню "Отладка — Остановка по ошибке" включим флаг "Останавливаться по ошибке". Часто система выбрасывает исключение именно в тот момент, когда срабатывает проверка ПравоДоступа() в коде модуля формы ПриСозданииНаСервере. Это позволит нам точно определить объект метаданных, которого не хватает в роли.

Использование встроенного отчета:

В БП 3.0 есть отличный инструмент. Перейдем в список Профили групп доступа, выделим наш профиль и нажмем кнопку Отчет по правам доступа. Проанализируем таблицу: если в колонке "Чтение" стоит "Нет" для объектов, которые визуально присутствуют в форме документа (например, СтатьиЗатрат для производства), это и есть причина ошибки.

Посмотрим на пример кода, который может вызывать ошибку, если прав недостаточно:


// Пример программной проверки в модуле формы
Если НЕ ПравоДоступа("Чтение", Метаданные.РегистрыСведений.ЦеныНоменклатуры) Тогда
    // Если прав нет, форма может выдать ошибку или заблокировать работу
    ВызватьИсключение "Недостаточно прав для работы с ценами номенклатуры!";
КонецЕсли;

Особенности настройки раздела "Производство"

Для инженера раздел "Производство" является ключевым. Рассмотрим подробнее, какие специфические объекты должны быть доступны в профиле, помимо основных документов:

  1. Справочник СпецификацииНоменклатуры: Без прав на чтение этого справочника пользователь не сможет заполнить состав материалов в документе Отчет производства за смену.
  2. Регистры сведений по методам распределения: Если инженер должен видеть плановую себестоимость или анализировать затраты, ему необходим доступ к регистрам, хранящим настройки распределения расходов.
  3. Функциональные опции: Убедимся, что в самой программе включен функционал производства (Главное — Функциональность). Если опция выключена, раздел не появится в интерфейсе даже при наличии полных прав в роли.

Практические советы по работе с интерфейсом

Иногда права на объекты есть, но "плитки" разделов в главном меню отсутствуют. Разберем, как это исправить:

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

Подводя итог, создание профиля "Инженер" — это процесс итерационный. Сначала добавляем базовые роли БП, затем основные документы (ПТиУ, Производство), а далее по Журналу регистрации или отчету по правам "добираем" права на справочники и регистры сведений, к которым обращается система в процессе работы. Такой структурный подход позволит создать безопасный и функциональный профиль без предоставления избыточных прав администратора.

← На главную