Статьи 1С программиста

заметки и другая полезная информация по 1С

Использование свойств команды формы

279
26 октября 2024

В этой статье мы рассмотрим все доступные свойства команды формы и создадим пример их использования. Мы создадим кнопку с иконкой, горячими клавишами и подсказкой, а при её нажатии будем выводить информацию обо всех установленных свойствах.

Доступные свойства КомандаФормы

У команды формы есть следующие свойства:

  • Действие - имя процедуры-обработчика команды
  • Заголовок - текст на кнопке
  • Имя - имя команды (только для чтения)
  • Картинка - иконка команды
  • Отображение - способ отображения (текст/картинка/оба варианта)
  • Подсказка - текст, появляющийся при наведении
  • СочетаниеКлавиш - комбинация клавиш для быстрого вызова

1. Создание команды и установка базовых свойств

НоваяКоманда = ЭтаФорма.Команды.Добавить("КомандаПример");
НоваяКоманда.Действие = "НажатиеКнопки";
НоваяКоманда.Заголовок = "Тестовая кнопка";

2. Добавление картинки и настройка отображения

НоваяКоманда.Картинка = БиблиотекаКартинок.Обсуждения;
НоваяКоманда.Отображение = ОтображениеКнопки.КартинкаИТекст;

3. Настройка подсказки и горячих клавиш

НоваяКоманда.Подсказка = "Это подсказка для кнопки. При нажатии выведется информация о команде.";
НоваяКоманда.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.A, , Истина);

4. Создание кнопки и привязка команды

НоваяКнопка = ЭтаФорма.Элементы.Добавить("КнопкаПример", Тип("КнопкаФормы"));
НоваяКнопка.ИмяКоманды = "КомандаПример";

Для демонстрации всех установленных свойств мы создадим функцию, которая соберет информацию о команде:

&НаСервере
Функция ПолучитьИнформациюОКоманде()
    Команда = ЭтаФорма.Команды.Найти("КомандаПример");

    Возврат
        "Информация о команде:" + Символы.ПС +
        "  - Имя (только чтение): " + Команда.Имя + Символы.ПС +
        "  - Действие: " + Команда.Действие + Символы.ПС +
        "  - Заголовок: " + Команда.Заголовок + Символы.ПС +
        "  - Подсказка: " + Команда.Подсказка + Символы.ПС +
        "  - Отображение: " + Команда.Отображение + Символы.ПС +
        "  - Сочетание клавиш: Ctrl+A" + Символы.ПС +
        "  - Картинка установлена: " + ?(ЗначениеЗаполнено(Команда.Картинка), "Да", "Нет");
КонецФункции

Полный код примера

Вот полный код с подробными комментариями, который вы можете использовать в своих проектах:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ)
    // Создаем новую команду
    НоваяКоманда = ЭтаФорма.Команды.Добавить("КомандаПример");

    // Устанавливаем имя процедуры-обработчика команды
    НоваяКоманда.Действие = "НажатиеКнопки";

    // Задаем текст, который будет отображаться на кнопке
    НоваяКоманда.Заголовок = "Тестовая кнопка";

    // Имя команды доступно только для чтения
    // НоваяКоманда.Имя - нельзя изменить, только прочитать

    // Устанавливаем картинку из библиотеки картинок
    НоваяКоманда.Картинка = БиблиотекаКартинок.Обсуждения;

    // Устанавливаем способ отображения (картинка и текст)
    НоваяКоманда.Отображение = ОтображениеКнопки.КартинкаИТекст;

    // Добавляем подсказку, которая будет видна при наведении
    НоваяКоманда.Подсказка = "Это подсказка для кнопки. При нажатии выведется информация о команде.";

    // Устанавливаем сочетание клавиш Ctrl+A
    НоваяКоманда.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.A, , Истина);

    // Создаем кнопку и привязываем к ней команду
    НоваяКнопка = ЭтаФорма.Элементы.Добавить("КнопкаПример", Тип("КнопкаФормы"));
    НоваяКнопка.ИмяКоманды = "КомандаПример";
КонецПроцедуры

&НаКлиенте
// Обработчик нажатия кнопки
Процедура НажатиеКнопки(Команда)
    ВывестиИнформациюОКоманде();
КонецПроцедуры

&НаСервере
Функция ПолучитьИнформациюОКоманде()
    // Найдем нашу команду
    Команда = ЭтаФорма.Команды.Найти("КомандаПример");

    // Сформируем информацию о всех свойствах команды
    Возврат
        "Информация о команде:" + Символы.ПС +
        "  - Имя (только чтение): " + Команда.Имя + Символы.ПС +
        "  - Действие: " + Команда.Действие + Символы.ПС +
        "  - Заголовок: " + Команда.Заголовок + Символы.ПС +
        "  - Подсказка: " + Команда.Подсказка + Символы.ПС +
        "  - Отображение: " + Команда.Отображение + Символы.ПС +
        "  - Сочетание клавиш: Ctrl+A" + Символы.ПС +
        "  - Картинка установлена: " + ?(ЗначениеЗаполнено(Команда.Картинка), "Да", "Нет");
КонецФункции

&НаКлиенте
Процедура ВывестиИнформациюОКоманде()
    // Получаем информацию с сервера и выводим её
    Сообщить(ПолучитьИнформациюОКоманде());
КонецПроцедуры

После выполнения этого кода вы получите форму с кнопкой, которая имеет иконку из стандартной библиотеки картинок и работает как по клику мышью, так и по нажатию Ctrl+A. При наведении на кнопку будет показываться подсказка, а при нажатии - выведется информация обо всех установленных свойствах команды.

279
26 октября 2024