При настройке прав доступа в системе 1С:ERP Управление предприятием (или «Комплексная автоматизация») администраторы часто сталкиваются с ситуацией, когда пользователю назначена роль ДобавлениеИзменениеВводаОстатков, но сам документ в интерфейсе остается доступным только для просмотра. Проблема может крыться как в банальной невнимательности при назначении профилей, так и в глубоких механизмах работы системы, таких как RLS, функциональные опции или специфические рабочие места.
В этой статье мы подробно разберем все возможные причины ограничения прав и выстроим алгоритм диагностики, который поможет восстановить полноценный доступ к вводу остатков.
Прежде чем погружаться в программный код или сложные настройки ограничений, рассмотрим самую простую, но часто встречающуюся причину. Разберем ситуацию, когда в системе создано несколько профилей с похожими названиями.
Проанализируем типичный сценарий: администратор создает копию типового профиля, называет ее так же или очень похоже (например, «Бухгалтер (с изменениями)» и «Бухгалтер»), вносит правки в роли, но в Группе доступа по ошибке оставляет привязку к старому, типовому профилю. В этом случае пользователь не получает необходимых расширенных прав, хотя визуально в списке профилей все кажется верным.
Для проверки выполним следующие действия:
Профиль. Нужно убедиться, что выбран именно тот объект, в котором вы настраивали роль ДобавлениеИзменениеВводаОстатков.В современных конфигурациях 1С:ERP работа с остатками реализована через механизм «Помощник ввода начальных остатков». Это не просто список документов, а специализированная обработка. Выясним причину, почему прав на документ может быть недостаточно.
Даже если у пользователя есть полные права на объект метаданных Документ.ВводНачальныхОстатков, он может столкнуться с блокировкой интерфейса, если у него отсутствует право на запуск самой формы-помощника. Проверим наличие в профиле роли ИспользованиеМастераВводаОстатков (или аналогичной по смыслу «Использование помощника ввода остатков»). Без этой роли работа в специализированном рабочем месте будет ограничена, и система может переводить форму в режим «Только чтение».
Рассмотрим ситуацию: права назначены, роль активна, но кнопка «Создать» внутри документа для определенного типа операции недоступна. Посмотрим на настройки системы. Документ ввода остатков является универсальным, и его поведение жестко зависит от включенных Функциональных опций.
Если в настройках конфигурации (раздел «НСИ и администрирование») отключен учет определенного раздела, например:
Учет внеоборотных активов;Многооборотная тара;Учет по подразделениям.То соответствующие типы операций в документе будут скрыты или заблокированы для редактирования. В этом случае права доступа ни при чем — система просто «не знает», что такой учет ведется.
Разберем более сложный технический аспект — RLS (Record Level Security). Даже если вы пробовали отключать ограничения в профиле для самого документа, проблема может остаться. Проанализируем, почему это происходит.
При записи документа «Ввод начальных остатков» система делает записи во множество регистров: РегистрНакопления.Типовой, РегистрНакопления.РасчетыСПоставщиками, РегистрБухгалтерии.Хозрасчетный и другие. Если у пользователя настроен RLS по организациям или подразделениям, и эти ограничения жестко прописаны в ролях, связанных с регистрами, документ не сможет зафиксировать данные.
В 1С:ERP часто используется механизм производительного RLS. Чтобы изменения в правах вступили в силу, выполним следующие шаги:
Обновление прав доступа (для пользователей) завершено успешно.Ввод начальных остатков и посмотрим колонку «Ограничение». Если там указано «Ограничено», значит, RLS продолжает действовать.Если вы хотите полностью убрать влияние RLS для этого документа в рамках конкретного профиля, необходимо проверить не только сам документ, но и права на Чтение и Изменение всех связанных с ним регистров в этом профиле.
Документ ввода остатков требует заполнения ключевых аналитик. Выясним, как права на справочники влияют на редактирование документа. Если у пользователя есть права на ввод остатков, но нет права Просмотр или Редактирование для справочников:
Склады;ДоговорыКонтрагентов;СтатьиРасходов;Номенклатура.Система может блокировать интерактивное изменение строк в табличной части, так как не сможет обеспечить выбор или проверку корректности введенных данных. Убедитесь, что в профиль включены базовые роли по чтению НСИ (Нормативно-справочной информации).
Для окончательной проверки и поиска «виновной» роли воспользуемся встроенным инструментом. Рассмотрим по шагам, как это сделать:
Этот отчет позволяет увидеть итоговое право. Если в колонке «Изменение» стоит «Нет», мы можем развернуть список и увидеть, какие именно роли дают разрешение, а какие — нет. Это поможет выявить конфликт прав, когда одна роль разрешает действие, а другая (с настроенным RLS) его фактически блокирует.
Проанализируем различие между версиями 1С:ERP 2.4 и 2.5. В версии 2.5 была существенно изменена архитектура партионного учета и взаиморасчетов. Если ваша база была обновлена, старые роли могут работать некорректно. В новых версиях рекомендуется использовать типовые профили, такие как Администратор закупок или Бухгалтер, в которые уже интегрированы актуальные права на новые объекты метаданных, связанные с вводом остатков.
Если вы используете программную проверку прав, можно воспользоваться методом ПравоДоступа() в консоли кода, чтобы понять, видит ли система разрешение для конкретного пользователя:
// Пример проверки прав программно
ТекПользователь = Справочники.Пользователи.НайтиПоНаименованию("Иванов Иван");
Если ПравоДоступа("Изменение", Метаданные.Документы.ВводНачальныхОстатков, ТекПользователь) Тогда
Сообщить("Доступ на изменение разрешен");
Иначе
Сообщить("Доступ запрещен на уровне метаданных или RLS");
КонецЕсли;
Подводя итог, если права настроены, а доступа нет — в первую очередь проверьте соответствие выбранного профиля в группе доступа и наличие роли на использование помощника (мастера). В 90% случаев проблема решается именно на этом этапе.