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