При разработке или внедрении новых объектов в конфигурацию «1С:Бухгалтерия предприятия 3.0» (и другие решения на базе БСП) часто возникает ситуация, когда новый документ виден только администратору, а рядовые пользователи его не находят. Рассмотрим подробно, как настроить права доступа к самописному документу и как управлять его отображением в различных разделах программы.
Первым делом проанализируем ситуацию в Конфигураторе. Если документ был создан сторонним разработчиком, для него могли не создать отдельные роли или не включить его в существующие профили доступа. В системе 1С права на объекты метаданных (документы, справочники, отчеты) определяются через Роли.
Разберем по шагам, как проверить текущие настройки:
ИнвентаризацияМЦ).Чтение, Просмотр, Интерактивное добавление и других.Если галочки стоят только у роли ПолныеПрава, значит, обычные пользователи документ не увидят. Проанализируем также состав самописных ролей. Хорошим тоном при разработке считается создание двух ролей для каждого нового объекта:
Если подходящей роли нет, нам необходимо ее создать. Рассмотрим процесс создания роли для управления правами на новый документ:
ДобавлениеИзменениеИнвентаризацийМЦ.Чтение, Вставка, Изменение, Просмотр, Интерактивное добавление, Проведение.Чтение и Просмотр соответствующих регистров. В противном случае пользователь увидит документ, но не сможет понять, какие проводки он сформировал.Конфигурации на базе БСП (Библиотеки стандартных подсистем), к которым относится «Бухгалтерия 3.0», используют специальный механизм для управления правами в режиме «Предприятие». Список всех объектов хранится в справочнике Идентификаторы объектов метаданных. Если мы добавили новый документ или роль, система может «не заметить» изменения в интерфейсе настройки групп доступа.
Для принудительного обновления данных можно воспользоваться программным вызовом. Рассмотрим пример кода, который можно запустить через внешнюю обработку или консоль кода:
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанные();
После выполнения этого метода новый документ станет доступен для выбора в профилях групп доступа в пользовательском режиме.
После того как роли созданы в Конфигураторе, переходим в саму программу под правами администратора. Настроим доступ для пользователей без изменения их основных прав:
Проанализируем второй вопрос автора: как переместить документ из раздела «Склад» в раздел «Покупки». Это делается в Конфигураторе через механизм Подсистем.
Разберем алгоритм действий:
ИнвентаризацияМЦ.Склад и установим на подсистему Покупки.Общие — Подсистемы подсистему Покупки.Иногда возникают ситуации, когда права настроены верно, подсистемы выбраны, но документ все равно не отображается. Выясним причину, проверив Функциональные опции.
Если разработчик привязал документ к функциональной опции (например, ИспользоватьИнвентаризациюМЦ), то видимость документа будет зависеть от значения связанной константы. Если в настройках программы (в режиме Предприятия) соответствующая «галочка» не включена, документ будет скрыт от всех пользователей, включая администратора, так как система считает этот функционал неиспользуемым в данной информационной базе.
Проанализируем свойства документа в Конфигураторе на закладке «Использование». Если в поле «Функциональные опции» что-то указано, необходимо проверить состояние этой опции в настройках программы.
Если в вашей базе используется ограничение прав на уровне записей (например, по Организациям), то простой настройки ролей может быть недостаточно. При наличии включенного RLS пользователь может обладать правами на документ, но не видеть ни одной записи, если его роль не содержит шаблонов ограничений доступа.
Посмотрим на типовые роли в БП 3.0. Большинство из них содержат сложные условия в графе «Ограничение доступа». Для самописного документа рекомендуется использовать стандартные шаблоны БСП, чтобы доступ к нему ограничивался аналогично типовым объектам системы. Это позволит избежать ситуаций, когда пользователь видит «чужие» документы по организациям, к которым у него нет доступа.