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