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