Можно ли автоматически открывать отчет при открытии подсистемы на управляемых формах?

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

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

Ограничения платформы и событийная модель подсистем

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

В платформе полностью отсутствует событийный механизм для переключения разделов. Не существует программных событий уровня клиентского приложения вида «ПриПереходеВРаздел» или «ПриОткрытииПодсистемы». Когда пользователь кликает по названию или иконке подсистемы на панели разделов в интерфейсе «Такси», платформа выполняет только внутреннее переключение командных панелей (навигации и действий) либо разворачивает меню доступных команд. Командный интерфейс принципиально отделен платформой от механизмов открытия конкретных окон и форм.

Попытка использования начальной страницы (рабочего стола)

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

Выясним причину, почему данный метод не решает задачу открытия отчета именно при смене подсистемы:

  1. Глобальный характер начальной страницы: формы, назначенные для начальной страницы, открываются однократно в момент старта клиентского приложения. Они закрепляются на отдельной вкладке и не привязаны к динамическому переключению между разделами.
  2. Невозможность изолировать подсистему: штатные средства платформы не позволяют задать персональный рабочий стол для каждой отдельной подсистемы. В интерфейсе «Такси» начальная страница представляет собой постоянное рабочее пространство пользователя, а переключение между разделами панели команд не приводит к перезагрузке начальной страницы.

Альтернативные архитектурные решения

Поскольку прямого способа «поймать» клик по разделу нет, для реализации требований заказчика применим рекомендуемые архитектурные подходы:

  1. Настройка начальной страницы под роль пользователя:

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

  2. Создание специализированного АРМ (Автоматизированного рабочего места):

    Вместо стандартного меню подсистемы разрабатывается единая общая форма или обработка. Внутри этой формы объединяются рабочие журналы документов и аналитический блок (отчет или таблица с результатом схемы компоновки данных). Команда открытия данного АРМ выносится в командный интерфейс раздела на самое видное место (в группу «Создать» или «Важное»).

  3. Встраивание отчета в форму списка основного объекта:

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

  4. Следование стандартам разработки 1С:

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

← На главную