1С. Программное добавление кнопки с обработчиком

При доработке типовых решений для облегчения дальнейших обновлений использую программное добавление кнопки с обработчиком

Задача

Программно добавить на командную панель кнопку с выполнением произвольного кода по ее нажатию.

Реализация

Для наглядности создадим новую обработку с «Пустой» формой. Её внешний вид будет следующим:

Программное добавление кнопки с обработчиком

В обработчике события формы «ПриСозданииНаСервере» добавим код генерации команды и кнопки

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Создадим команду
	Команда			= ЭтаФорма.Команды.Добавить("МояКоманда");
	Команда.Действие	= "ОбработчикМоейКоманды";
	
	// Создадим кнопку и привяжем к ней команду
	Кнопка			= ЭтаФорма.Элементы.Добавить("ВыполнитьМоюКоманду", Тип("КнопкаФормы"), ЭтаФорма.Элементы.МояКоманднаяПанель);
	Кнопка.Заголовок	= "Выполнить мою команду";
	Кнопка.ИмяКоманды	= "МояКоманда";
	
КонецПроцедуры

И создадим обработчик нашей команды

&НаКлиенте
Процедура ОбработчикМоейКоманды(Команда)
	
	// Наш произвольный код для выполнения
	
КонецПроцедуры

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

Так же можно почитать 1С. Программное добавление и удаление реквизитов формы

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *