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