Типы встроенного языка и свойства компонента командного интерфейса вида «КомандаСПараметром»
Компонент командного интерфейса КомандаСПараметром позволяет передать во время выполнения команды параметр. Это может быть полезно для передачи дополнительной информации, такой как, например, какие-либо условия или настройки. Во время исполнения параметр передается как аргумент в обработчик, как показано на примере ниже:
метод ВыполнитьКомандуСПараметром(Команда: КомандаСПараметром<Массив<Сущность.Ссылка>>, Параметр: Массив<Сущность.Ссылка>)
После того как вы добавили в проект команду с параметром и дали ей имя, «1С:Исполнитель» создаст соответствующий тип встроенного языка, имя которого будет совпадать с именем вашей команды с параметром. Так, для команды с параметром ВыполнитьЗадачи из примера ниже будет создан тип ВыполнитьЗадачи
.
Свойства
В проекте компонент командного интерфейса КомандаСПараметром имеет следующие свойства:
Важность
ВажностьКоманды
. Определяет приоритет при отображении нескольких команд. Например, команда с важностью Низкая будет отображаться в выпадающем меню «Еще». Возможные значения:
- Высокая
- Обычная
- Низкая
Видимость
Булево
. Управляет видимостью команды. Если Ложь
, команда скрыта в интерфейсе.
Доступность
Булево
. Управляет доступностью команды. Если Ложь
, команда недоступна для выполнения.
Изображение
ДвоичныйОбъект.Ссылка?
. Графическое изображение на кнопке группы командного интерфейса.
ОпасностьДействия
ОпасностьДействия
. Определяет опасность действия, совершаемого пользователем, например, может ли нажатие на кнопку привест и к удалению данных. Возможные значения:
- Высокая
- Средняя
- Отсутствует
Представление
Строка
. Текст кнопки группы командного интерфейса.
Пример
Рассмотрим пример использования команды с параметром из демонстрационного приложения. В данном примере такой командой является выполнение задач, но не всех, а только отмеченных. Именно список отмеченных задач и передается в команду как параметр:
Так выглядит команда с параметром в файле YAML соответствующей формы списка Задачи:
ИспользоватьОтметкиСтрок: Истина
КомандыНадОтмеченнымиСтроками:
Тип: ФрагментКомандногоИнтерфейса<КомандаСПараметром<Массив<Сущность.Ссылка>>>
Элементы:
-
Тип: КомандаСПараметром<Массив<Сущность.Ссылка>>
Представление: ВыполнитьЗадачи
Обработчик: ВыполнитьОтмеченныеЗадачи
А так — обработчик этой команды в модуле объекта той же формы списка (где ВыполнитьОтмеченныеЗадачи
— обработчик, Команда
— команда с параметром, Отмеченные
— параметр):
метод ВыполнитьОтмеченныеЗадачи(Команда: КомандаСПараметром<Массив<Сущность.Ссылка>>, Отмеченные: Массив<Сущность.Ссылка>)
знч Задачи = <Задачи.Ссылка>[]
для Задача из Отмеченные
Задачи.Добавить(Задача как Задачи.Ссылка)
;
Компоненты.ТаблицаСписка.ОчиститьОтмеченныеСтроки()
ВыполнитьЗадачи(Задачи)
Компоненты.ТаблицаСписка.Обновить()
;
@НаСервере @ДоступноСКлиента
статический метод ВыполнитьЗадачи(Задачи: Массив<Задачи.Ссылка>)
для Задача из Задачи
знч ЗадачаОбъект = Задача.ЗагрузитьОбъект()
если ЗадачаОбъект.Статус != СтатусыМероприятия.Завершено
ЗадачаОбъект.Завершить()
;
;
;