Как расставить разделы по местам: порядок и видимость подсистем в конфигураторе
Содержание
Порядок разделов на панели в интерфейсе «Такси» берётся из порядка подсистем верхнего уровня в дереве конфигурации. Хотите сдвинуть «Продажи» вперёд, а «Администрирование» в конец — меняйте положение подсистем в конфигураторе. Колонка «Порядок» в свойствах для этого не нужна, такого свойства у подсистемы нет.
Типичная ошибка: человек открывает свойства подсистемы, не находит там номер очерёдности и решает, что порядок «зашит» в платформу. Это не так. Порядок задаёт разработчик конфигурации, а пользователь может подправить его для себя через настройку панели разделов. Ниже разобрано и то, и другое, плюс причины, по которым раздел вообще пропадает с панели.
Как платформа решает, что и в каком порядке показать
Подсистема в 8.3 — это узел дерева конфигурации. Подсистемы верхнего уровня становятся разделами на панели разделов. Вложенные подсистемы превращаются в группы команд внутри раздела. Объекты (справочники, документы, отчёты), включённые в состав подсистемы, дают её команды.
От чего зависит картина на экране:
- 🌳 Положение в дереве. Раздел, стоящий выше, на панели стоит левее (или выше, если панель вертикальная).
- ✅ Флаг «Включать в командный интерфейс». Снят — подсистема не покажется ни на панели, ни в меню, даже если вы поставили её первой.
- 🔐 Права ролей. Нет права «Просмотр» на подсистему — пользователь её не увидит.
- ⚙️ Функциональные опции. Если опция отключена, связанные с ней подсистемы и команды скрываются.
- 👤 Личная настройка пользователя. Он может скрыть разделы и переставить их по-своему.
Первые два пункта вы правите в конфигураторе. Остальные — в ролях, настройках программы и в пользовательском режиме.
Меняем порядок разделов в дереве конфигурации
Работаем в конфигураторе, открытом в режиме разработки, на копии базы. Правки конфигурации поддержки может потребовать включить возможность изменения (см. ниже).
- Откройте конфигуратор: окно запуска → кнопка «Конфигуратор».
- Откройте окно конфигурации:
Конфигурация → Открыть конфигурацию. - Разверните ветку «Общие» и найдите «Подсистемы».
- Выделите нужную подсистему верхнего уровня.
- Переместите её вверх или вниз стрелками на панели окна конфигурации либо перетаскиванием мышью.
- Сохраните конфигурацию (
F7обновляет конфигурацию базы данных,Ctrl+Sсохраняет объект) и запустите «1С:Предприятие» в режиме отладки (F5) — проверьте результат.
Двигайте подсистемы только внутри одного уровня. Подсистема, перетащенная внутрь другой, станет вложенной — и исчезнет с панели разделов, потому что вложенные подсистемы там не показываются.
Перед изменениями на рабочей базе сделайте выгрузку конфигурации. Если конфигурация типовая и стоит на поддержке, платформа спросит про включение возможности изменения — подтвердите, но помните: каждая правка усложнит последующие обновления.
Что скрыто за «одинаковым» порядком у разных конфигураций
В типовых решениях (Бухгалтерия предприятия 3.0, ЗУП 3.1, Управление торговлей 11) набор разделов разный, а общее у них одно: служебные разделы вроде «Администрирование» и «Главное» стоят ближе к концу. Если вы хотите так же, не переставляйте их вперёд без причины: пользователи привыкли искать их справа.
Свойства подсистемы, которые влияют на отображение
Откройте подсистему двойным щелчком и посмотрите палитру свойств. Нужны три вещи.
| Свойство | Что делает | Когда трогать |
|---|---|---|
| Включать в командный интерфейс | Показывать подсистему на панели разделов и в меню | Раздел «пропал» или, наоборот, служебная подсистема засоряет панель |
| Картинка | Значок раздела | Новый раздел выглядит безликим |
| Пояснение | Подсказка к разделу | Нужно объяснить назначение раздела |
Состав подсистемы (какие объекты в неё входят) задаётся в её окне редактирования. Объект можно включить сразу в несколько подсистем — тогда его команда появится в каждом из разделов.
Команды внутри раздела: порядок и группы
Порядок самих разделов — только полдела. Внутри раздела команды разбиты на группы: «Панель навигации » слева (в Такси это ссылки на списки), «Панель действий» сверху (создание, отчёты, сервис) и подгруппы «Важное», «Обычное», «См. также».
Как их настроить:
- Откройте нужную подсистему.
- В окне редактирования нажмите кнопку «Командный интерфейс».
- Перетаскивайте команды между группами и меняйте порядок внутри группы.
- Для каждой команды можно снять видимость, не удаляя объект из состава.
Команда в группе «Важное» отображается жирнее и выше остальных. Не злоупотребляйте: если в «Важном» двадцать пунктов, оно перестаёт быть важным.
Служебные подсистемы и приоритеты
Не каждую подсистему надо показывать. Часто в конфигурации держат подсистемы как «контейнеры» для настройки прав или состава обмена, не предназначенные для навигации. Для них снимают флаг «Включать в командный интерфейс».
Практика, которая избавляет от сюрпризов:
- 🧩 служебные подсистемы называйте так, чтобы было видно назначение (например, с приставкой «Служебная»);
- 🔕 флаг командного интерфейса у них снят, а права задаются отдельной ролью;
- 📍 пользовательские разделы держите выше служебных.
Приоритета как числа у подсистем нет. Если вам нужно, чтобы раздел появился на панели первым, он должен стоять первым в списке подсистем верхнего уровня. Больше ничем это не регулируется.
Почему раздел не виден: права доступа
Самая частая жалоба — «раздел есть в конфигураторе, а у пользователя его нет». Проверьте в таком порядке:
- Откройте в конфигураторе роль пользователя: ветка «Общие → Роли».
- На вкладке прав найдите подсистему (ветка «Подсистемы» в списке объектов) и посмотрите право «Просмотр».
- Проверьте, что у подсистемы нет «чужих» запретов: право берётся из всех ролей пользователя, и если ни в одной нет «Просмотра», раздел скрыт.
- Для вложенной подсистемы нужен доступ и к родителю.
Раздел может появиться на панели, но оказаться пустым: команда видна только тогда, когда у пользователя есть право просмотра на её объект. Нет прав ни на один объект раздела — платформа раздел не показывает.
Для проверки зайдите в базу под тестовым пользователем с той же ролью. Режим «Отладка → Запуск от имени пользователя» удобнее, чем гадать по таблицам прав.
Пример: переставляем разделы в самописной конфигурации
Допустим, в дереве подсистем верхнего уровня идут восемь элементов: «Главное», «Продажи», «Закупки», «Склад», «Деньги», «Отчёты», «Справочники», «Администрирование». Отдел продаж просит поставить «Продажи» первым, а «Главное» убрать с панели совсем.
Что делаем:
- Выделяем «Продажи» и поднимаем вверх на одну позицию: она встала на первое место, «Главное» сдвинулось на второе.
- Открываем «Главное» и снимаем флаг «Включать в командный интерфейс». Подсистема остаётся в конфигурации, её можно использовать для прав, но на панели её больше нет.
- В итоге на панели семь разделов в порядке: «Продажи», «Закупки», «Склад», «Деньги», «Отчёты», «Справочники», «Администрирование».
- Запускаем под пользователем с ролью менеджера по продажам. Видим только те разделы, на которые у роли есть «Просмотр», но порядок остаётся тем же.
Проверьте и обратный случай: у части сотрудников раздел «Склад» может быть закрыт ролью. Тогда у них панель короче на один раздел, а остальные стоят на тех же местах. Порядок не «схлопывается» и не перемешивается, меняется только набор.
Расширения конфигурации и новые разделы
Расширения появились в платформе 8.3.6 и позволяют менять поведение типовой конфигурации без правки самой конфигурации. С подсистемами у них своя логика.
- ➕ Новая подсистема в расширении. Добавляется в конфигурацию и обычно оказывается после существующих. Нужное место придётся настраивать вручную в самом расширении.
- 🔄 Заимствованная подсистема. Объект основной конфигурации «подхватывается» в расширение, и в нём можно изменить свойства, например флаг командного интерфейса или картинку.
- 📦 Состав. Свои объекты расширения можно включить в заимствованные подсистемы, чтобы их команды появились в нужном разделе.
Порядок для готовой типовой конфигурации лучше не менять правкой самой конфигурации, а решать расширением: так обновление релиза не потеряет вашу правку. Расширение подключается как .cfe: загрузка файла и применение к базе — отдельные шаги. После загрузки потребуется «Обновить конфигурацию
базы данных», иначе изменения не вступят в силу.
Расширение с заимствованной подсистемой может конфликтовать с обновлением типового решения, если разработчик переименует или уберёт эту подсистему. После каждого обновления просматривайте список расширений на предмет ошибок.
Как пользователь настраивает панель разделов сам
Для личного порядка вмешательство в конфигурацию не нужно. В интерфейсе «Такси» откройте главное меню (кнопка со значком меню слева вверху), пункт «Вид», далее настройка панели разделов . В открывшемся окне пользователь:
- перемещает разделы вверх и вниз;
- убирает с панели те, которыми не пользуется;
- возвращает скрытые обратно.
Настройка хранится для каждого пользователя отдельно. Через неё не получится показать раздел, который закрыт ролью или снят флагом в конфигураторе: она работает только с тем, что конфигурация и права уже разрешили.
Если у пользователя в программе «порядок поехал» после обновления, а в конфигурации всё верно, сбросьте его личную настройку: в окне настройки есть команда возврата к стандартным значениям.
Программное управление и отладка интерфейса
Часть интерфейса можно менять из кода, но обычно хватает конфигуратора. Что полезно знать:
- 🔧 Функциональные опции управляют видимостью целых разделов без правки кода. Это правильнее, чем скрывать раздел кодом при открытии формы.
- 🧪 Отладка. Запускайте базу из конфигуратора клавишей
F5, смотрите панель разделов под нужным пользователем. Если раздел не появляется, ищите причину в этом порядке: флаг командного интерфейса, функциональная опция, роль, состав подсистемы. - 🧹 Кэш интерфейса. Бывает, что в клиент-серверной базе после правки старая панель остаётся на экране. Закройте и снова откройте программу; сеансы других пользователей при этом не затрагиваются. Для файловой базы можно дополнительно очистить кэш клиента, предварительно закрыв сеанс.
Динамически менять порядок подсистем в коде не принято: порядок — это свойство структуры конфигурации. Если вам нужно разное расположение разделов у разных групп людей, используйте несколько интерфейсов, роли и личные настройки, а не условия в коде.
Частые ошибки
- ❌ Искать числовое свойство «Порядок» у подсистемы. Двигайте элемент в дереве.
- ❌ Вкладывать подсистему в другую при перетаскивании: она пропадёт с панели разделов.
- ❌ Снять флаг командного интерфейса у родителя и ждать, что дочерние будут видны отдельно.
- ❌ Править типовую конфигурацию ради одной перестановки: после обновления придётся разбирать конфликты. Для этого есть расширение.
- ❌ Проверять результат только под администратором. У него права на всё, и ошибки в ролях не видны.