Как добавить новую роль и подсистему в 1С:Управление торговлей 11 без снятия с поддержки?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей IT и автоматизация бизнеса
← На главную

При сопровождении типовых конфигураций на платформе 1С:Предприятие 8.3 (таких как 1С:Управление торговлей 11, 1С:ERP или 1С:Комплексная автоматизация) часто возникает необходимость добавить собственную подсистему и ограничить к ней доступ для определенных групп пользователей. При этом критически важно сохранить конфигурацию на поддержке поставщика, чтобы не усложнять последующие типовые обновления.

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

Способы добавления роли и подсистемы без снятия с поддержки

Рассмотрим два основных архитектурных подхода к добавлению новых метаданных в типовую базу:

  1. Использование расширения конфигурации. Это наиболее предпочтительный вариант. Начиная с платформы 8.3.6, расширения поддерживают добавление собственных ролей, а в современных версиях позволяют создавать полноценные подсистемы, справочники, документы и отчеты. При этом основная конфигурация остается на замке (на полной поддержке).
  2. Режим «Редактирование с сохранением поддержки». Если использование расширений по каким-либо причинам невозможно, переведем конфигурацию в режим редактирования, оставив типовые объекты закрытыми от изменений («Не редактируется»), но разрешив добавление новых объектов метаданных.

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

Настройка прав роли в конфигураторе

Проанализируем структуру прав, необходимых для корректного отображения раздела в интерфейсе «1С:Предприятие»:

  1. Установим для новой роли право Просмотр на созданную подсистему.
  2. Проверим права на объекты, входящие в эту подсистему. Для того чтобы подсистема появилась в командном интерфейсе, у роли обязательно должны быть интерактивные права (Чтение, Просмотр) хотя бы на один объект метаданных внутри подсистемы.
  3. Убедимся, что у объектов метаданных включено свойство Использовать стандартные команды или добавлены собственные команды, отображаемые в интерфейсе.

Регистрация роли в механизмах БСП (Библиотека стандартных подсистем)

В конфигурациях линейки УТ 11, ERP и КА права пользователей назначаются не напрямую в списке пользователей базы данных, а через справочники Профили групп доступа и Группы доступа. БСП ведет собственный учет ролей и метаданных в служебных справочниках. Если просто создать роль в конфигураторе, программа не увидит ее в режиме предприятия до момента синхронизации метаданных.

Разберем, как принудительно обновить идентификаторы метаданных:

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


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

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

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

Также инициировать полное фоновое обновление всех служебных структур БСП можно запуском информационной базы в режиме «1С:Предприятие» со специальным ключом командной строки:

1cv8c.exe ENTERPRISE /F "ПутьКБазе" /C ЗапуститьОбновлениеИнформационнойБазы

Обновление прав и назначение роли профилям пользователей

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

Выполним процедуру пересчета прав доступа:

ПользователиСлужебный.ОбновитьПараметрыРаботыПользователей(Истина);

После вызова данного метода проделаем следующее в режиме «1С:Предприятие»:

  1. Откроем справочник Профили групп доступа и зайдем в целевой профиль.
  2. Временно снимем флаг с добавленной роли и запишем элемент (БСП анализирует разницу состава ролей до и после изменения).
  3. Снова установим флаг у нашей роли и нажмем Записать и закрыть. Механизм доступа автоматически обновит состав ролей у всех пользователей, входящих в соответствующие группы доступа.

Диагностика: почему подсистема все еще не видна пользователю

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

  1. Пользовательские настройки панели разделов. Если пользователь ранее вручную настраивал командный интерфейс, новые подсистемы не добавляются автоматически. Для исправления перейдем в Главное меню — Вид — Настройка панели разделов и нажмем кнопку Установить стандартные настройки (либо очистим персональные настройки через Администрирование — Настройки пользователей и прав — Очистка настроек).
  2. Командный интерфейс подсистемы. В конфигураторе откроем контекстное меню корня конфигурации Открыть командный интерфейс конфигурации и проверим, установлена ли видимость для новой подсистемы и требуемой роли.
  3. Функциональные опции. Проверим, не привязана ли новая подсистема или ее объекты к функциональным опциям. Если опция выключена (значение константы Ложь), платформа полностью скроет связанные разделы из интерфейса.
← На главную