Типы встроенного языка и свойства элемента проекта вида «ПереключаемаяКоманда»
Переключаемая команда выполняет алгоритм на встроенном языке и имеет два состояния: активное и неактивное. В каждом из этих состояний она отображается в виде картинки и заголовка, которые показывают состояние команды.
После того как вы добавите в проект переключаемую команду и дадите ей имя, «1С:Шина» создаст один тип встроенного языка. Имя этого типа будет совпадать с именем вашей переключаемой команды.
Например, если в проекте есть переключаемая команда КомандаВИзбранное, то будет создан тип КомандаВИзбранное
. В общем случае имя этого типа выглядит следующим образом: <ИмяПереключаемойКоманды>
.
Тип <ИмяПереключаемойКоманды>
Тип <ИмяПереключаемойКоманды>
доступен на клиенте. Может быть задан с помощью конструктора:
ПереключаемаяКоманда(
Обработчик: (ПереключаемаяКоманда)->ничто,
ПредставлениеАктивного: Строка,
ИзображениеАктивного: ДвоичныйОбъект.Ссылка? = Неопределено,
ПредставлениеНеактивного: Строка,
ИзображениеНеактивного: ДвоичныйОбъект.Ссылка? = Неопределено,
Активна: Булево,
Важность: ВажностьКоманды = ВажностьКоманды.Обычная,
Доступность: Булево = Истина,
Видимость: Булево = Истина,
ОпасностьДействия: ОпасностьДействия = ОпасностьДействия.Отсутствует
)
Модуль переключаемой команды
В проекте модуль, расширяющий тип <ИмяПереключаемойКоманды>
, называется модулем переключаемой команды. Он исполняется на клиенте.
В этом модуле вы можете обработать событие нажатия на команду с помощью переопределяемого обработчика:
@Обработчик
метод Обработчик()
// необходимые действия
;
Для переключаемой команды, созданной для компонента интерфейса, также можно задать обработчик. Для этого в панели свойств команды перейдите к свойству Обработчик:
Чтобы использовать уже существующий обработчик, выберите его из выпадающего списка. Чтобы открыть выбранный обработчик в модуле, нажмите на значок лупы.
Чтобы создать новый обработчик, введите для него имя и нажмите на значок лупы — обработчик будет автоматически создан и добавлен в модуль компонента.
Если не вводить имя для обработчика, то оно также будет сгенерировано автоматически, на основе следующей схемы:
-
Если представление команды не указано:
ПереключаемаяКомандаОбработчик
.
-
Если представление команды указано:
Представление + «Обработчик»
.
-
Если ПредставлениеАктивного команды указано:
ПредставлениеАктивного + «Обработчик»
.
В модуле переключаемой команды может находиться реализация контракта сервиса.
Иерархия наследования
Свойства элемента проекта
Активна
Булево
. Управляет отображением команды. Для активной команды применяются свойства ИзображениеАктивного и ПредставлениеАктивного. Для неактивной команды применяются свойства ИзображениеНеактивного и ПредставлениеНеактивного.
Важность
ВажностьКоманды
. Определяет приоритет при отображении нескольких команд. Например, команда с важностью Низкая будет отображаться в выпадающем меню «Еще». Возможные значения:
- Высокая,
- Обычная,
- Низкая,
Видимость
Булево
. Управляет видимостью команды. Если Ложь
, команда скрыта в интерфейсе.
ВидЭлемента
Вид элемента проекта (подробнее).
Доступность
Булево
. Управляет доступностью команды. Если Ложь
, команда недоступна для выполнения.
Ид
Идентификатор элемента проекта. «1С:Шина» создает этот идентификатор автоматически.
ИзображениеАктивного
Ссылка на ресурс картинки, которая будет показана для активной команды. Пример YAML-файла:
ВидЭлемента: ПереключаемаяКоманда
ОбластьВидимости: ВПодсистеме
Ид: cb1c56ba-0f64-40da-a1b1-d89689c8b23a
Имя: МояПереключаемаяКоманда
ПредставлениеАктивного: Избранное
ПредставлениеНеактивного: В избранное
ИзображениеАктивного: Action-on.svg
ИзображениеНеактивного: Action-off.svg
ИзображениеНеактивного
Ссылка на ресурс картинки, которая будет показана для неактивной команды. Пример YAML-файла:
ВидЭлемента: ПереключаемаяКоманда
ОбластьВидимости: ВПодсистеме
Ид: cb1c56ba-0f64-40da-a1b1-d89689c8b23a
Имя: МояПереключаемаяКоманда
ПредставлениеАктивного: Избранное
ПредставлениеНеактивного: В избранное
ИзображениеАктивного: Action-on.svg
ИзображениеНеактивного: Action-off.svg
Импорт
Список импортированных пространств имен (подробнее).
Имя
Имя элемента проекта.
НастройкиТипа
Контракты, которые реализует переключаемая команда.
- Контракты
Массив<Тип>
. Имена контрактов сервиса, которые реализует данная команда.
ОбластьВидимости
Видимость элемента проекта (подробнее):
- ВПодсистеме — элемент виден внутри одной подсистемы во всех пакетах. Значение по умолчанию.