Поделитесь в соцсетях

Программно добавить кнопку в командную панель

Как программно добавить кнопку на командную панель?

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

В ниже приведенном примере создаются кнопки для всех колонок списка справочника:

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

Поясню немного код. Сначала мы создаем подменю, а потом в него добавляем кнопки, где имена и положение(индекс) берутся из колонки. Всем кнопкам назначается процедура "СортироватьПоКолонке".

Вот так выглядит результат

Программно добавить кнопку в командную панель

Недостаточно прав для комментирования