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