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