Подменю в 1С 8.3: где оно встречается и как его настроить
Содержание
Подменю в 1С — это пункт меню или командной панели, который не выполняет действие сам, а раскрывает список вложенных команд. Вы нажимаете на кнопку со стрелкой, видите выпадающий список и выбираете нужную команду. Так в управляемых формах 8.3 прячут команды, которые нужны не каждый день: «Печать», «Создать на основании», «Ещё».
Настройка подменю в 1С делится на две части. Пользователь меняет то, что видит у себя: порядок и состав команд в панелях. Разработчик создаёт подменю в Конфигураторе и решает, у кого оно видно. Ниже разобраны обе стороны — и разница между подменю, обычным разделом и группой команд.
Где подменю встречается в интерфейсе
Под словом «подменю» в 1С 8.3 скрываются разные вещи. Это полезно различать, иначе легко искать настройку не там.
| Где вы его видите | Как выглядит | Кто настраивает |
|---|---|---|
| Командная панель формы документа или списка | Кнопка со стрелкой: «Создать на основании», «Печать», «Ещё» | Разработчик; пользователь — частично |
| Контекстное меню (правая кнопка мыши) | Пункт со стрелкой вправо, раскрывает вложенный список | Разработчик |
| Панель разделов и панель навигации | Группы команд внутри раздела: «Сервис», «Отчёты», «Справочники» | Пользователь и разработчик |
| Главное меню окна программы | Пункты с вложенным списком | Платформа |
В командных панелях форм подменю делают отдельной группой. Если у кнопки справа есть маленькая стрелка, значит, под ней спрятан список. Если кнопка просто выполняет действие, это обычная команда.
Быстрая проверка: подведите курсор к кнопке. У подменю нет собственного действия — нажатие только раскрывает список. У команды нажатие сразу что-то делает.
Чем подменю отличается от раздела и группы команд
Новички путают три понятия. Они выглядят похоже, но устроены по-разному.
- 📂 Раздел — верхний уровень навигации. В интерфейсе «Такси» это пункты панели разделов: «Главное», «Продажи», «Банк и касса», «Зарплата». В конфигурации раздел — это подсистема верхнего уровня.
- 🧩 Группа команд — набор команд внутри раздела. Команды объединены по смыслу и показываются в панели навигации или в панели действий. Отдельной кнопки у группы нет, это просто блок.
- 🔽 Подменю — кнопка, которая раскрывает вложенный список. Применяется там, где места мало: в командной панели формы или списка.
Главное отличие: раздел и группа команд организуют навигацию по программе, а подменю экономит место в панели конкретного окна. Группу вы видите сразу целиком, подменю — только после нажатия.
Ещё одно практическое различие. Раздел можно отключить функциональной опцией: например, в базе без зарплаты раздел «Зарплата» не показывается вовсе. Подменю такой опцией тоже управляется, но обычно оно просто пропадает вместе с командами внутри — когда ни одна вложенная команда недоступна, кнопка пустая и не отображается.
Как создать подменю в Конфигураторе
Этот раздел для тех, кто дорабатывает конфигурацию. Пользователю без права на изменение конфигурации он не нужен.
Подменю создаётся в редакторе формы. Порядок такой:
- Откройте нужную форму объекта в Конфигураторе: найдите объект в дереве конфигурации, раскройте «Формы» и откройте редактор.
- На вкладке «Командный интерфейс» или в элементах формы выберите командную панель, куда хотите добавить кнопку.
- Добавьте новую группу и задайте ей вид «Подменю» — в свойствах группы это отдельное значение, отличное от «Обычная группа» и «Командная панель».
- Переименуйте группу: заголовок виден пользователю, имя нужно для обращения из кода.
- Перетащите в группу команды формы. Они станут вложенными пунктами.
- Сохраните форму и запустите 1С:Предприятие в режиме отладки — проверьте, что список раскрывается.
Заголовок подменю делайте коротким: два-три слова. Длинную подпись платформа обрежет, а в узкой панели она занимает место, ради экономии которого подменю и создавалось.
Правки конфигурации делайте на копии базы или в хранилище конфигурации, а не в рабочей базе, к которой подключены пользователи. Если конфигурация типовая и стоит на поддержке, изменение превратит её в изменённую и усложнит будущие обновления. Для типовых решений проще оформить доработку расширением.
Расширения появились в платформе 8.3.6. Через расширение можно добавить в форму новую группу-подменю, не трогая основную конфигурацию. После загрузки .cfe нужно отдельно обновить конфигурацию
базы данных — это два разных шага.
Подменю в командном интерфейсе: порядок и состав
В командном интерфейсе подсистем подменю как отдельного объекта нет, но порядком и составом команд управляют так же, как в подменю формы. У каждой подсистемы есть своё окно «Командный интерфейс». В нём команды разложены по группам: панель навигации (важные, обычные, смотрите также) и панель действий (создать, отчёты, сервис).
Что можно сделать с командой:
- переместить из одной группы в другую — например, из «Обычные» в «Важные»;
- изменить порядок внутри группы перетаскиванием;
- отключить показ по умолчанию, оставив команду доступной для ручного включения пользователем;
- привязать видимость к функциональной опции.
Команды в «Важные» попадают в начало панели навигации, а «Смотрите также» выводятся отдельным блоком ниже. Если вы переносите часто используемые отчёты из «Смотрите также» в «Важные», пользователям не придётся раскрывать лишние списки.
Как пользователь настраивает меню под себя
Не обязательно быть разработчиком, чтобы навести порядок. Платформа позволяет каждому пользователю настроить командный интерфейс под себя — без изменения конфигурации.
Откройте главное меню программы и найдите пункт «Вид». Там расположены настройки интерфейса. Основные из них:
- ⚙️ Настройка панели разделов — включить, выключить и переставить разделы. Лишние разделы можно убрать, чтобы они не мешали.
- 🧭 Настройка панели навигации — выбрать, какие команды показывать в текущем разделе и в каком порядке.
- ⚡ Настройка панели действий — то же для команд «Создать», «Отчёты» и «Сервис».
В каждой из этих настроек открывается окно с двумя списками: доступные команды и выбранные. Команды переносят кнопками между списками и двигают вверх и вниз. Кнопка возврата настроек по умолчанию вернёт всё как было.
Настройки сохраняются для вашей учётной записи и не влияют на коллег. Если вы войдёте под другим пользователем, увидите стандартное расположение.
Видимость подменю и ролевая модель
Подменю видно не всем. Что именно покажет программа, зависит от трёх вещей, и их полезно проверять по порядку.
1. Права роли на объект. Если у вашей роли нет права на справочник, документ или отчёт, команда для его открытия пропадает из меню. Это самая частая причина, почему у бухгалтера есть пункт, а у менеджера нет. Подменю, в котором все команды недоступны, не показывается совсем.
2. Функциональные опции. Администратор включает и выключает возможности программы в настройках. Выключили «Учёт по нескольким организациям» — команды, связанные с ним, исчезли у всех, независимо от прав. Настройки функциональности лежат в разделе Администрирование.
3. Видимость по ролям в командном интерфейсе. Для команды в подсистеме можно настроить, каким ролям она показывается. Так разработчик скрывает служебную команду даже от тех, у кого право на объект формально есть.
Чтобы быстро понять причину, используйте простую схему:
Администрирование и в настройки панели навигации.Права смотрит администратор: в режиме 1С:Предприятие они задаются в Администрирование → Настройки пользователей и прав, а список пользователей и ролей — в одноимённых справочниках этого раздела.
Показ подменю по условию из кода
Иногда подменю нужно показывать не всегда: например, только для проведённого документа или только пользователям с определённым правом. Для этого у элемента формы есть свойство видимости, которое меняют из модуля формы.
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Элементы.ПодменюДополнительно.Видимость = ЭтаФорма.Объект.Проведен;
КонецПроцедуры
Здесь ПодменюДополнительно — имя группы-подменю, заданное в редакторе формы. Подставьте своё. Для вычисления условия на сервере используйте процедуру ПриСозданииНаСервере, а на клиенте — вызов после открытия формы, если условие зависит от данных, которые меняются при работе.
Два замечания на практике:
- 🔍 Имя группы в коде должно совпадать с именем в редакторе формы буква в букву. Заголовок, который видит пользователь, для кода значения не имеет.
- 🧪 После правки откройте форму под ролью обычного пользователя, а не только под администратором: у администратора часть условий выполняется автоматически, и ошибка не проявится.
Если условий несколько, не плодите отдельные подменю. Одно подменю с командами, часть из которых скрывается по условию, понятнее пользователю, чем три почти одинаковые кнопки.
Типичные ошибки при работе с подменю
Здесь собраны ошибки, которые возникают именно с подменю, а не с интерфейсом в целом.
- 🕳️ Пустое подменю. Разработчик создал группу, но перенёс в неё не те команды или команды недоступны ролям. Решение — перенести команды и проверить права.
- 🔁 Команда продублирована. Одна команда добавлена и в подменю, и на панель напрямую. Оставьте её в одном месте: двойное размещение путает пользователей.
- 📏 Слишком вложенная структура. Подменю внутри подменю. На практике после второго уровня пользователи перестают находить команды. Держите один уровень.
- 🏷️ Неинформативный заголовок. «Прочее», «Дополнительно» — в такое подменю складывают всё подряд, и искать там неудобно. Называйте по смыслу: «Печать», «Создать на основании».
- 🧱 Правка типовой формы напрямую. После обновления конфигурации изменения пропадают или вызывают конфликт при объединении. Используйте расширение.
- 🙈 Команда спрятана, но доступна другим способом. Скрытие в меню не отключает право. Если пользователю нельзя выполнять действие, закройте его правами роли, а не только скройте кнопку.
Последний пункт стоит запомнить: видимость — это удобство, а не защита. Защищают права.
Частые вопросы
Подменю и выпадающий список — это одно и то же?
Можно ли отключить подменю только для одного пользователя?
Почему у меня подменю «Печать» есть, а у коллеги нет?
Администрирование.