Типы встроенного языка и свойства компонента командного интерфейса вида «КомандаСПараметром»

Компонент командного интерфейса КомандаСПараметром позволяет передать во время выполнения команды параметр. Это может быть полезно для передачи дополнительной информации, такой как, например, какие-либо условия или настройки. Во время исполнения параметр передается как аргумент в обработчик, как показано на примере ниже:
метод ВыполнитьКомандуСПараметром(Команда: КомандаСПараметром<Массив<Сущность.Ссылка>>, Параметр: Массив<Сущность.Ссылка>)

После того как вы добавили в проект команду с параметром и дали ей имя, создаст соответствующий тип встроенного языка, имя которого будет совпадать с именем вашей команды с параметром. Так, для команды с параметром ВыполнитьЗадачи из примера ниже будет создан тип ВыполнитьЗадачи.

Свойства

В проекте компонент командного интерфейса КомандаСПараметром имеет следующие свойства:

Важность
ВажностьКоманды. Определяет приоритет при отображении нескольких команд. Например, команда с важностью Низкая будет отображаться в выпадающем меню «Еще». Возможные значения:
  • Высокая
  • Обычная
  • Низкая
Видимость
Булево. Управляет видимостью команды. Если Ложь, команда скрыта в интерфейсе.
Доступность
Булево. Управляет доступностью команды. Если Ложь, команда недоступна для выполнения.
Изображение
ДвоичныйОбъект.Ссылка?. Графическое изображение на кнопке группы командного интерфейса.
ОпасностьДействия
ОпасностьДействия. Определяет опасность действия, совершаемого пользователем, например, может ли нажатие на кнопку привести к удалению данных. Возможные значения:
  • Высокая
  • Средняя
  • Отсутствует
Представление
Строка. Текст кнопки группы командного интерфейса.

Пример

Рассмотрим пример использования команды с параметром из демонстрационного приложения. В данном примере такой командой является выполнение задач, но не всех, а только отмеченных. Именно список отмеченных задач и передается в команду как параметр:

Так выглядит команда с параметром в файле YAML соответствующей формы списка Задачи:

ИспользоватьОтметкиСтрок: Истина
КомандыНадОтмеченнымиСтроками:
    Тип: ФрагментКомандногоИнтерфейса<КомандаСПараметром<Массив<Сущность.Ссылка>>>
    Элементы:
        -
            Тип: КомандаСПараметром<Массив<Сущность.Ссылка>>
            Представление: ВыполнитьЗадачи
            Обработчик: ВыполнитьОтмеченныеЗадачи

А так — обработчик этой команды в модуле объекта той же формы списка (где ВыполнитьОтмеченныеЗадачи — обработчик, Команда — команда с параметром, Отмеченные — параметр):

метод ВыполнитьОтмеченныеЗадачи(Команда: КомандаСПараметром<Массив<Сущность.Ссылка>>, Отмеченные: Массив<Сущность.Ссылка>)
    знч Задачи = <Задачи.Ссылка>[]
    для Задача из Отмеченные
        Задачи.Добавить(Задача как Задачи.Ссылка)
    ;
    
    Компоненты.ТаблицаСписка.ОчиститьОтмеченныеСтроки()
    ВыполнитьЗадачи(Задачи)
    Компоненты.ТаблицаСписка.Обновить()
;

@НаСервере @ДоступноСКлиента
статический метод ВыполнитьЗадачи(Задачи: Массив<Задачи.Ссылка>)
    для Задача из Задачи
        знч ЗадачаОбъект = Задача.ЗагрузитьОбъект()
        если ЗадачаОбъект.Статус != СтатусыМероприятия.Завершено
            ЗадачаОбъект.Завершить()
        ;
    ;
;