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

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

Программное создание кнопки на форме

1440
24 октября 2024

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

Создание команды

Команда отвечает за логику работы кнопки. Для этого создаём команду в коллекции команд формы с помощью метода Добавить(). В качестве параметра передаётся имя команды, которое будет уникальным.

НоваяКоманда = ЭтаФорма.Команды.Добавить("Команда1");

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

НоваяКоманда.Заголовок = "Кнопка";
НоваяКоманда.Действие = "НажатиеКнопки";

Добавление кнопки на форму

После создания команды необходимо добавить сам элемент кнопки на форму. Для этого используем метод Добавить() из коллекции элементов формы. Указываем тип элемента как "КнопкаФормы".

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

Последним шагом является привязка команды к кнопке. Для этого используем свойство ИмяКоманды, которое связывает кнопку с ранее созданной командой.

НоваяКнопка.ИмяКоманды = "Команда1";

Действие при нажатии кнопки

Когда пользователь нажимает на кнопку, выполняется действие, которое определяется в процедуре, привязанной к команде. В данном примере кнопка просто выводит сообщение.

Сообщить("Кнопка нажата");

Полный код

Ниже представлен полный код с подробными комментариями:

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

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

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

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

    // Привязываем созданную команду к кнопке.
    НоваяКнопка.ИмяКоманды = "Команда1";
КонецПроцедуры

&НаКлиенте
Процедура НажатиеКнопки(Команда)
    // Выводим сообщение при нажатии кнопки.
    Сообщить("Кнопка нажата");
КонецПроцедуры

1440
24 октября 2024