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

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

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

метод ВыполнитьКомандуСПараметром(Команда: КомандаСПараметром<Массив<Сущность.Ссылка>>, Параметр: Массив<Сущность.Ссылка>)

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

Свойства​

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

Важность​

ВажностьКоманды. Определяет приоритет при отображении нескольких команд. Например, команда с важностью Низкая будет отображаться в выпадающем меню «Еще». Возможные значения:

  • Высокая
  • Обычная
  • Низкая

Видимость​

Булево. Управляет видимостью команды. Если Ложь, команда скрыта в интерфейсе.

Доступность​

Булево. Управляет доступностью команды. Если Ложь, команда недоступна для выполнения.

Изображение​

ДвоичныйОбъект.Ссылка?. Графическое изображение на кнопке группы командного интерфейса.

ОпасностьДействия​

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

  • Высокая
  • Средняя
  • Отсутствует

Представление​

Строка. Текст кнопки группы командного интерфейса.

Пример​

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

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

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

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

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

Компоненты.ТаблицаСписка.ОчиститьОтмеченныеСтроки()
ВыполнитьЗадачи(Задачи)
Компоненты.ТаблицаСписка.Обновить()
;

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