Как вывести иконки рядом с объектами в командном интерфейсе 1С без подсистем?

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

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

Разберем архитектурные особенности интерфейса «Такси», выясним причину такого поведения платформы и подробно проанализируем доступные пути решения поставленной задачи.

Ограничения командного интерфейса платформы 1С

Проанализируем, почему платформа не выводит пиктограммы у стандартных команд в боковой панели при отсутствии подсистем. В управляемом интерфейсе действует четкая иерархия элементов навигации:

  1. Панель разделов: отображает объекты метаданных Подсистемы первого уровня. Для них разработчик может явно задать свойство Картинка, и платформа штатно выведет её рядом с названием раздела.
  2. Панель функций текущего раздела / Панель навигации: содержит перечень команд открытия списков объектов, входящих в выбранную подсистему. Концептуально элементы в этой области отображаются платформой исключительно в виде текстовых гиперссылок.

Если в конфигурации не создано ни одной подсистемы или включена только одна подсистема, платформа 1С считает все прикладные объекты относящимися к разделу «Главное» и автоматически скрывает Панель разделов. В результате пользователь видит только текстовый список в панели функций. Даже если создать объект метаданных ОбщаяКоманда и заполнить в ней свойство Картинка, платформа отобразит графический значок только при размещении команды на командной панели формы, но проигнорирует его в панели навигации интерфейса.

Рассмотрим подробнее альтернативные варианты, позволяющие решить эту проблему.

Вариант 1. Использование символов Unicode и Emoji в синонимах

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

  1. Откроем свойства нужного объекта метаданных (справочника, документа или отчета).
  2. Перейдем к свойству Синоним.
  3. Вставим перед текстовым наименованием подходящий по смыслу графический символ Unicode (например, символы папки для справочников, бланка для документов или диаграммы для отчетов).
  4. Сохраним изменения и запустим конфигурацию в режиме 1С:Предприятие.

Платформа отрендерит введенные символы прямо в составе строки гиперссылки. В результате в левой панели функций пользователь получит наглядные пиктограммы рядом с названиями объектов без создания лишних служебных объектов метаданных.

Вариант 2. Создание структуры «одна подсистема на один объект»

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

  1. Создадим для каждого прикладного объекта отдельный объект метаданных Подсистема верхнего уровня.
  2. В состав каждой подсистемы включим ровно один соответствующий объект (например, подсистема «Номенклатура» содержит только справочник Номенклатура, подсистема «Продажи» — документ РеализацияТоваров).
  3. Для каждой подсистемы в свойстве Картинка укажем необходимую пиктограмму из метаданных Картинки.
  4. Убедимся, что для подсистем включено свойство ВключатьВКомандныйИнтерфейс.

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

Вариант 3. Общая форма на начальной странице

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

  1. Создадим объект ОбщаяФорма (например, с именем РабочийСтол или ГлавноеМеню).
  2. В свойствах конфигурации откроем редактор Открыть рабочую область начальной страницы и назначим созданную форму единственной формой начальной страницы.
  3. На самой форме разместим команды для открытия каждого объекта. Для кнопок зададим свойства Картинка и настроим свойство ПоложениеКартинки (например, ОтображатьКартинкуИНадпись или КартинкаСверху).
  4. В модуле общей формы опишем типовые обработчики открытия списков:
    
    &НаКлиенте
    Процедура ОткрытьСправочникНоменклатура(Команда)
        ОткрытьФорму("Справочник.Номенклатура.ФормаСписка");
    КонецПроцедуры
    
    &НаКлиенте
    Процедура ОткрытьДокументыПродажи(Команда)
        ОткрытьФорму("Документ.РеализацияТоваров.ФормаСписка");
    КонецПроцедуры
    
  5. В редакторе интерфейса клиентского приложения скроем стандартные панели (панель разделов и панель функций), оставив активной только рабочую область начальной страницы.

Для компактной базы из нескольких объектов такой подход обеспечивает максимальное удобство: при запуске программы пользователь сразу видит полноценную навигационную панель с крупными иконками и понятными надписями.

← На главную