Перейти к основному содержимому

Типы встроенного языка и свойства элемента проекта вида «ФрагментКомандногоИнтерфейса»

Фрагмент командного интерфейса объединяет несколько команд и групп команд для того, чтобы показать их в интерфейсе. В отличие от группы командного интерфейса, используется только как контейнер для компонентов командного интерфейса и не позволяет задать какие-либо настройки отображения в пользовательском интерфейсе. Если является элементом другого компонента, то отображается в соответствии с его настройками. Удобен для переиспользования в различных компонентах пользовательского интерфейса.

Может задаваться как самостоятельный элемент проекта. В таком виде используется, например, в свойствах компонента СтандартноеКлиентскоеПриложениеСРазделами:

Пример фрагмента командного интерфейса на форме:

Пример на форме

А это пример фрагмента командного интерфейса в панели навигации демонстрационного приложения:

Пример в панели навигации

В то время как в этом примере сама панель навигации является фрагментом командного интерфейса, каждый ее пункт является заголовком команды или группы команд. Так, Мероприятия — это группа команд, каждая из которых открывает одну из двух форм (Задачи или События).

Тип <ИмяФрагментаКомандногоИнтерфейса>

После того как вы добавили в проект фрагмент командного интерфейса и дали ему имя, «1С:Шина» создаст один тип встроенного языка. Имя этого типа будет совпадать с именем вашего фрагмента командного интерфейса.

Например, если в проекте есть фрагмент командного интерфейса ПанельНавигации, то будет создан тип ПанельНавигации. В общем случае имя этого типа будет выглядеть следующим образом: <ИмяФрагментаКомандногоИнтерфейса>.

Этот тип встроенного языка доступен на клиенте.

Он не имеет конструктора и имеет единственный экземпляр, обращение к которому выполняется по имени типа:

// Получить фрагмент командного интерфейса «ПанельНавигации»
пер Навигация = ПанельНавигации

Модуль фрагмента командного интерфейса

В проекте модуль, расширяющий тип <ИмяФрагментаКомандногоИнтерфейса>, называется модулем фрагмента командного интерфейса. Он исполняется на клиенте.

В этом модуле вы можете обработать события нажатия на команды, которые описаны в свойстве Элементы этого фрагмента.

Свойства элемента проекта

Элементы

Команда или список команд, которые будут содержаться во фрагменте. Массив следующих типов:

Имя

Имя элемента проекта или компонента. Пример YAML-файла:

ВидЭлемента: Справочник
ОбластьВидимости: ВПодсистеме
Имя: МойСправочник
Ид: 64cdbccd-a768-4877-9fdd-4f7ea44c2600

Импорт

Список импортированных пространств имен (подробнее). Пример YAML-файла:

ВидЭлемента: Справочник
ОбластьВидимости: ВПодсистеме
Имя: МойСправочник
Ид: 64cdbccd-a768-4877-9fdd-4f7ea44c2600
Импорт:
- Главная
- Настройки::НовыйПакет

Ид

Идентификатор элемента проекта или компонента. «1С:Шина» создает этот идентификатор автоматически. Пример YAML-файла:

ВидЭлемента: Справочник
ОбластьВидимости: ВПодсистеме
Имя: МойСправочник
Ид: 64cdbccd-a768-4877-9fdd-4f7ea44c2600

ОбластьВидимости

Видимость элемента проекта (подробнее):

  • ВПодсистеме — элемент виден внутри одной подсистемы во всех пакетах. Значение по умолчанию.
  • ВПроекте — элемент виден во всех подсистемах одного проекта.
  • Глобально — элемент виден во всех подсистемах всех проектов.

Пример YAML-файла:

ВидЭлемента: Справочник
ОбластьВидимости: ВПодсистеме
Имя: МойСправочник
Ид: 64cdbccd-a768-4877-9fdd-4f7ea44c2600

ВидЭлемента

Вид элементов проекта (подробнее)либо компонент интерфейса (подробнее). Пример YAML-файла элемента проекта:

ВидЭлемента: Справочник
ОбластьВидимости: ВПодсистеме
Имя: МойСправочник
Ид: 64cdbccd-a768-4877-9fdd-4f7ea44c2600

Пример YAML-файла компонента:

ВидЭлемента: КомпонентИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: d3f2fad1-4ce1-444b-8aaa-b37425f4f6bb
Имя: МояГруппа
Наследует:
Тип: ФиксированнаяГруппа

Пример

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

ВидЭлемента: ФрагментКомандногоИнтерфейса
ОбластьВидимости: ВПодсистеме
Ид: 58e451d8-20ff-4ba8-8b92-d8dacae520cc
Имя: ФрагментИнтерфейса
Элементы:
- # --- Вызов собственных команд, добавленных в проект
=МояОбычнаяКоманда
-
=МояНавигационнаяКоманда
-
=МояПереключаемаяКоманда
-
=МойФрагментИнтерфейса

- # --- Использование группы командного интерфейса
Тип: ГруппаКомандногоИнтерфейса<Команда>
Представление: Стандартные команды элементов проекта
Изображение: icon-desc.svg
Элементы:
- # --- Вызов стандартных команд элементов проекта: открытие форм справочников
=Сотрудники.ОткрытьСписок
-
=События.СоздатьОбъект

- # --- Навигационная команда, описанная внутри фрагмента
Тип: НавигационнаяКоманда
Представление: Задачи
ТипФормы: МояФорма

- # --- Обычная команда, описанная внутри фрагмента
Тип: ОбычнаяКоманда
Представление: Подсказать
Изображение: icon-q.svg
Обработчик: ОбработчикКомандыПодсказать

- # --- Переключаемая команда, описанная внутри фрагмента
Тип: ПереключаемаяКоманда
ПредставлениеАктивного: Избранное
ПредставлениеНеактивного: В избранное
Обработчик: ОбработчикПереключаемойКоманды

- # --- Фрагмент интерфейса, описанный внутри фрагмента
Тип: ФрагментКомандногоИнтерфейса<Команда>
Элементы:
-
Тип: ОбычнаяКоманда
Представление: Настройки
Изображение: РазделНастройки.svg
Обработчик: ОбработчикКомандыНастройки
-
Тип: ОбычнаяКоманда
Представление: Сервис
Изображение: РазделСервис.svg
Обработчик: ОбработчикКомандыСервис