Столкнулся с необходимостью программного создания кнопок в группе кнопок управляемой формы.
Если упрощенно, то помог код следующего содержания:
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Для Каждого ТекИмяКнопки Из Параметры.МассивИменКнопок Цикл КомандаФормы = Команды.Добавить(ТекИмяКнопки); КомандаФормы.Действие = "ПроцедураОбработкиНажатия"; Элементы.Добавить(ТекИмяКнопки,Тип("КнопкаФормы"), Элементы.ПоПравилуОбработкиПодменю); Элементы[ТекИмяКнопки].Заголовок = ТекИмяКнопки; Элементы[ТекИмяКнопки].ИмяКоманды = ТекИмяКнопки; КонецЦикла КонецПроцедуры
Параметры.МассиИменКнопок — Массив, в котором содержаться имена создаваемых кнопок.
Элементы.ПоПравилуОбработкиПодменю — группа подменю, в которую добавляются кнопки.
«ПроцедураОбработкиНажатия» — имя процедуры, которая объявлена на стороне клиента. Именно ей будет передаваться управление в случае нажатия кнопки. Идентификацию того, какая именно кнопка была нажата проводил по имени команды.
&НаКлиенте Процедура ПроцедураОбработкиНажатия(Элемент) Состояние("Выполняется нажатие кнопки с командой" + Элемент.Имя); КонецПроцедуры
Следует отметить, что обязательно создание команд. Если кнопке не определить имя команды, то платформа такую кнопку не покажет.
Похожие записи:
Pingback: Блог программиста 1с » Blog Archive » Программное создание таблицы значений с условным оформлением в 8.2()