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

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

Обычная команда выполняет алгоритм на встроенном языке. Отображается в виде картинки и заголовка команды.

Пример команды

Тип <ИмяОбычнойКоманды>

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

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

Тип <ИмяОбычнойКоманды> доступен на клиенте. Может быть задан с помощью конструктора:

ОбычнаяКоманда(
Обработчик: (ОбычнаяКоманда)->ничто,
Представление: Строка,
Изображение: ДвоичныйОбъект.Ссылка? = Неопределено,
Важность: ВажностьКоманды = ВажностьКоманды.Обычная,
Доступность: Булево = Истина,
Видимость: Булево = Истина,
ОпасностьДействия: ОпасностьДействия = ОпасностьДействия.Отсутствует
)

Модуль обычной команды

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

Модуль обычной команды

В этом модуле вы можете обработать событие нажатия на команду с помощью переопределяемого обработчика:

@Обработчик
метод Обработчик()
// необходимые действия
;

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

Обработчик

Чтобы использовать уже существующий обработчик, выберите его из выпадающего списка. Чтобы открыть выбранный обработчик в модуле, нажмите на значок лупы.

Чтобы создать новый обработчик, введите для него имя и нажмите на значок лупы — обработчик будет автоматически создан и добавлен в модуль компонента.

Если не вводить имя для обработчика, то оно также будет сгенерировано автоматически, на основе следующей схемы:

  • Если представление команды не указано:

    • ОбычнаяКомандаОбработчик.
  • Если представление команды указано:

    • Представление + «Обработчик».
совет

В модуле обычной команды может находиться реализация контракта сервиса.

Иерархия наследования

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

Важность

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

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

Видимость

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

ВидЭлемента

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

Доступность

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

Ид

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

Изображение

ДвоичныйОбъект.Ссылка?. Ссылка на ресурс картинки, которая будет показана в команде. Пример YAML-файла:

ВидЭлемента: ОбычнаяКоманда
ОбластьВидимости: ВПодсистеме
Ид: 80d2ee77-bd56-4bc5-89cb-f56f22a8596f
Имя: МояОбычнаяКоманда
Представление: Подсказать
Изображение: icon-q.svg

Импорт

Список импортированных пространств имен (подробнее).

Имя

Имя элемента проекта или компонента.

НастройкиТипа

Контракты, которые реализует обычная команда.

  • Контракты

Массив<Тип>. Имена контрактов сервиса, которые реализует данная команда.

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

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

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

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

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

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

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

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

ВидЭлемента: ОбычнаяКоманда
ОбластьВидимости: ВПодсистеме
Ид: 80d2ee77-bd56-4bc5-89cb-f56f22a8596f
Имя: МояОбычнаяКоманда
Представление: Подсказать
Изображение: icon-q.svg