Как разрешить пользователю работу с документом и изменить его расположение в интерфейсе 1С

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

При разработке или внедрении новых объектов в конфигурацию «1С:Бухгалтерия предприятия 3.0» (и другие решения на базе БСП) часто возникает ситуация, когда новый документ виден только администратору, а рядовые пользователи его не находят. Рассмотрим подробно, как настроить права доступа к самописному документу и как управлять его отображением в различных разделах программы.

Анализ прав доступа в Конфигураторе

Первым делом проанализируем ситуацию в Конфигураторе. Если документ был создан сторонним разработчиком, для него могли не создать отдельные роли или не включить его в существующие профили доступа. В системе 1С права на объекты метаданных (документы, справочники, отчеты) определяются через Роли.

Разберем по шагам, как проверить текущие настройки:

  1. Откроем Конфигуратор и найдем в дереве метаданных нужный документ (в нашем примере это ИнвентаризацияМЦ).
  2. Нажмем на документе правой кнопкой мыши и выберем пункт «Дополнительно», затем перейдем на закладку «Права».
  3. В открывшемся окне мы увидим список всех ролей, существующих в конфигурации. Проанализируем, у каких ролей установлены галочки напротив прав Чтение, Просмотр, Интерактивное добавление и других.

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

Создание и настройка новых ролей для документа

Если подходящей роли нет, нам необходимо ее создать. Рассмотрим процесс создания роли для управления правами на новый документ:

  1. В дереве метаданных перейдем в раздел «Общие» — «Роли» и добавим новую роль, например, ДобавлениеИзменениеИнвентаризацийМЦ.
  2. В окне настройки прав выберем наш документ. Установим права: Чтение, Вставка, Изменение, Просмотр, Интерактивное добавление, Проведение.
  3. Важный нюанс: если документ делает движения по регистрам (например, по регистрам накопления или бухгалтерии), этой же роли обязательно нужно дать права на Чтение и Просмотр соответствующих регистров. В противном случае пользователь увидит документ, но не сможет понять, какие проводки он сформировал.

Регистрация объекта в справочнике Идентификаторы объектов метаданных

Конфигурации на базе БСП (Библиотеки стандартных подсистем), к которым относится «Бухгалтерия 3.0», используют специальный механизм для управления правами в режиме «Предприятие». Список всех объектов хранится в справочнике Идентификаторы объектов метаданных. Если мы добавили новый документ или роль, система может «не заметить» изменения в интерфейсе настройки групп доступа.

Для принудительного обновления данных можно воспользоваться программным вызовом. Рассмотрим пример кода, который можно запустить через внешнюю обработку или консоль кода:

Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанные();

После выполнения этого метода новый документ станет доступен для выбора в профилях групп доступа в пользовательском режиме.

Настройка прав в режиме 1С:Предприятие

После того как роли созданы в Конфигураторе, переходим в саму программу под правами администратора. Настроим доступ для пользователей без изменения их основных прав:

  1. Зайдем в раздел Администрирование — Настройки пользователей и прав — Профили групп доступа.
  2. Создадим новый профиль, назовем его «Работа с инвентаризацией МЦ».
  3. В списке ролей этого профиля найдем ту роль, которую мы создали в Конфигураторе, и отметим ее галочкой.
  4. Сохраним профиль и перейдем в Группы доступа.
  5. Создадим новую группу доступа (или выберем существующую), выберем наш профиль и добавим в список тех пользователей, которым нужен доступ к документу.

Перенос документа из одного раздела интерфейса в другой

Проанализируем второй вопрос автора: как переместить документ из раздела «Склад» в раздел «Покупки». Это делается в Конфигураторе через механизм Подсистем.

Разберем алгоритм действий:

  1. В дереве метаданных найдем наш документ ИнвентаризацияМЦ.
  2. Откроем окно свойств (Alt + Enter) и перейдем на закладку «Подсистемы».
  3. В списке подсистем снимем галочку с подсистемы Склад и установим на подсистему Покупки.
  4. Теперь необходимо настроить Командный интерфейс. Для этого найдем в ветке Общие — Подсистемы подсистему Покупки.
  5. Нажмем на ней правой кнопкой мыши и выберем «Открыть командный интерфейс».
  6. В открывшемся окне найдем наш документ и убедимся, что в колонке «Видимость» стоит галочка. Здесь же можно настроить, в какую группу команд попадет документ (например, в «Панель навигации.Обычное» или «Панель навигации.См. также»).

Функциональные опции и их влияние на видимость

Иногда возникают ситуации, когда права настроены верно, подсистемы выбраны, но документ все равно не отображается. Выясним причину, проверив Функциональные опции.

Если разработчик привязал документ к функциональной опции (например, ИспользоватьИнвентаризациюМЦ), то видимость документа будет зависеть от значения связанной константы. Если в настройках программы (в режиме Предприятия) соответствующая «галочка» не включена, документ будет скрыт от всех пользователей, включая администратора, так как система считает этот функционал неиспользуемым в данной информационной базе.

Проанализируем свойства документа в Конфигураторе на закладке «Использование». Если в поле «Функциональные опции» что-то указано, необходимо проверить состояние этой опции в настройках программы.

Работа с ограничениями на уровне записей (RLS)

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

Посмотрим на типовые роли в БП 3.0. Большинство из них содержат сложные условия в графе «Ограничение доступа». Для самописного документа рекомендуется использовать стандартные шаблоны БСП, чтобы доступ к нему ограничивался аналогично типовым объектам системы. Это позволит избежать ситуаций, когда пользователь видит «чужие» документы по организациям, к которым у него нет доступа.

← На главную