В процессе адаптации конфигурации «1С:Управление нашей фирмой» под нужды бизнеса часто возникает задача расширения бокового меню. В интерфейсе «Такси» это меню формируется на основе подсистем верхнего уровня. Давайте разберем по шагам, как правильно добавить новый раздел, изменить существующий и избежать проблем с визуальным отображением иконок.
Прежде чем вносить изменения, проанализируем способ их внедрения. Для конфигураций, находящихся на поддержке (таких как УНФ), рекомендуется использовать Расширения конфигурации (.cfe). Это позволит нам добавить новую подсистему, не снимая основную базу с поддержки, что значительно упростит будущие обновления системы. К тому же, через расширение можно выполнить комплексную замену стиля и иконок для конфигурации УНФ 3.0, чтобы привести интерфейс к единому корпоративному стандарту.
Чтобы в «желтеньком» боковом меню (панели разделов) появилась новая кнопка, нам необходимо создать объект метаданных Подсистема. Рассмотрим основные условия, при которых она станет видимой пользователю:
Часто при добавлении своего раздела разработчики сталкиваются с тем, что интерфейс начинает выглядеть некорректно. Выясним причину этого явления: платформа 1С чувствительна к разрешению и формату используемых картинок. Если изображение слишком большое, оно может «раздвинуть» панель разделов или исказиться. Кроме того, для удобства пользователей в дополнение к иконкам разделов можно настроить визуальное состояние объектов на форме, чтобы прямо в заголовках или списках отображались статусы документов.
Проанализируем рекомендации по работе с графикой:
Иногда требуется не создать новое, а изменить старое название, например, превратить раздел Сервис во что-то более специфичное. Рассмотрим, как сделать это правильно:
Самый простой путь — изменить свойство «Синоним» у соответствующей подсистемы. В расширении вы можете заимствовать стандартную подсистему и указать для нее новое имя. Если же стоит задача изменить состав команд в разделе, мы можем добавить свою команду в подсистему и в настройках командного интерфейса отключить видимость стандартных команд.
В некоторых случаях нам нужно управлять интерфейсом динамически. Посмотрим на пример того, как это можно реализовать программно. В модуле управляемого приложения в процедуре ПриНачалеРаботыСистемы можно использовать методы для настройки состава панелей. Хотя чаще всего для настройки видимости разделов достаточно использовать механизм ролей и прав доступа.
Если же вам требуется более гибкий контроль видимости и доступности элементов управляемой формы для конкретных пользователей, лучше использовать специализированные расширения. Это избавит от необходимости писать сложный код для каждого случая.
Например, для проверки прав перед выводом интерфейса может использоваться подобная конструкция:
Если РольДоступна("ПолныеПрава") Тогда
// Логика управления интерфейсом для администратора
КонецЕсли;
Мы рассмотрели процесс создания новых разделов в 1С:УНФ. Помните, что чистота интерфейса зависит не только от структуры подсистем, но и от аккуратности в подготовке графических ресурсов. Используйте SVG, работайте через расширения и всегда проверяйте отображение новой вкладки под пользователем с ограниченными правами.