Как программно добавить кнопку на форму 1С в расширении с картинкой

Для простоты обновления удобно добавлять кнопки на форму документа или справочника программно даже в расширениях 1С.

Создадим в расширении процедуру Расширение_ПриСозданииНаСервереПосле

Добавления процедуры в расширение 1с

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

добавление расширения обработчика 1с

Пропишем код добавления команд и соответствующих им элементов на форме, в результате выполнения кода на форме появятся две кнопки.

&НаСервере
Процедура Расширение_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
	НоваяКоманда = ЭтаФорма.Команды.Добавить("Расширение_ПечатьЧека");
	НоваяКоманда.Действие  = "Расширение_ПечатьЧека";
	НоваяКоманда.Заголовок = "Печать чека";

	НовыйЭлемент = Элементы.Добавить("Расширение_ПечатьЧека", Тип("КнопкаФормы"),Элементы.ФормаКоманднаяПанель);
	НовыйЭлемент.ИмяКоманды = "Расширение_ПечатьЧека";  
	Элементы.Расширение_ПечатьЧека.Картинка    = БиблиотекаКартинок.Расширение_Касса;
	Элементы.Расширение_ПечатьЧека.Отображение = ОтображениеКнопки.КартинкаИТекст; 
	
	НоваяКоманда = ЭтаФорма.Команды.Добавить("Расширение_ПараметрыКассы");
	НоваяКоманда.Действие  = "Расширение_ПараметрыКассы";
	НоваяКоманда.Заголовок = "Параметры кассы";

	НовыйЭлемент = Элементы.Добавить("Расширение_ПараметрыКассы", Тип("КнопкаФормы"),Элементы.ФормаКоманднаяПанель);
	НовыйЭлемент.ИмяКоманды = "Расширение_ПараметрыКассы";  
	Элементы.Расширение_ПараметрыКассы.Картинка    = БиблиотекаКартинок.Расширение_Касса;
	Элементы.Расширение_ПараметрыКассы.Отображение = ОтображениеКнопки.КартинкаИТекст;
	
КонецПроцедуры

В данном примере добавляем кнопку с назначенной ей картинкой, картинку предварительно добавляем в библиотеку картинок расширения (Общие картинки), а после программно назначаем на кнопку, также меняем отображение кнопки на картинка и текст.

Добавление общей картинки в расширение 1С

Так же программно можно задать определенный цвет фона кнопки:

Элементы.Расширение_ПечатьЧека.ЦветФона = Новый Цвет(255,255,0);

Далее прописываем код для динамически создаваемой кнопки на форме 1С:

&НаКлиенте
Процедура Расширение_ПараметрыКассы(Элемент) 
	
	ОткрытьФорму("ОбщаяФорма.Расширение_ПараметрыКассы");				
		
КонецПроцедуры

Похожие записи

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

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