Программное создание элементов формы

Динамическое добавление флажка 

Обработчике события ПередОтктытием :

  ЭтаФорма.Высота = ЭтаФорма.Высота + 25;
  ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = ЭлементыФормы.ОсновнаяПанель.Страницы.Найти("Дополнительно");
  Элемент = ЭлементыФормы.Добавить(Тип("Флажок"), "эврОтразитьПродажуВУправленческомУчете", Истина, ЭлементыФормы.ОсновнаяПанель);
   
  Элемент.Заголовок = "Отразить продажу в управленческом учете";
  Элемент.Верх = ЭлементыФормы.ОтключитьКонтрольВзаиморасчетов.Верх + ЭлементыФормы.ОтключитьКонтрольВзаиморасчетов.Высота + 5;
  Элемент.Лево = ЭлементыФормы.ОтключитьКонтрольВзаиморасчетов.Лево;
  Элемент.Высота = 19;
  Элемент.Ширина = ЭлементыФормы.ОтключитьКонтрольВзаиморасчетов.Ширина;
  Элемент.Данные = "эврОтразитьПродажуВУправленческомУчете";
  Элемент.УстановитьПривязку(ГраницаЭлементаУправления.Верх, ЭлементыФормы.ОтключитьКонтрольВзаиморасчетов, ГраницаЭлементаУправления.Низ);
  Элемент.УстановитьПривязку(ГраницаЭлементаУправления.Низ, ЭлементыФормы.ОтключитьКонтрольВзаиморасчетов, ГраницаЭлементаУправления.Низ);

 

Лучше код который создает флажок в поместить в обработчик ПередОткрытием(),
а позиционирование в обработчик ОбновлениеОтображения()
 

Динамическое добавление кнопки

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
  
 МВерх = 60;
 МЛево = 12;
 
 ВГр = тзВидыБлюд.Количество();
 
 Инд = 0;
 Пока Инд <= ВГр-1 Цикл
 
  ЭлементСпискаВидыБлюд = тзВидыБлюд[Инд];
 
  Кнопка = ЭлементыФормы.Добавить(Тип("Кнопка"), ЭлементСпискаВидыБлюд.Имя, Истина);
  Кнопка.ЦветФонаКнопки = ЭлементСпискаВидыБлюд.ЦветФонаКнопки;
  Кнопка.Заголовок = ЭлементСпискаВидыБлюд.Представление;
  Кнопка.Шрифт = ШрифтКнопки;
 
  Кнопка.Верх = МВерх;
  Кнопка.Лево = МЛево;
  Кнопка.Ширина = 200;
  Кнопка.Высота = 50;
   
  МВерх = МВерх + Кнопка.Высота + мПромежутокМеждуКнопками;
 
 
  Действие = Новый Действие("РеакцияНаНажатие");
  Кнопка.УстановитьДействие("Нажатие", Действие);
 
 
  Инд = Инд + 1;
 
 КонецЦикла;
 
 
 
КонецПроцедуры

Процедура РеакцияНаНажатие(Элемент)
 
  
 Сообщить("Нажатие кнопки c именем " + Элемент.Имя );
 Сообщить(Строка(Перечисления.ВидыБлюд[Элемент.Имя]));
  
КонецПроцедуры

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

НоваяСтрока.Имя = Имя;
НоваяСтрока.Представление = Представление;
НоваяСтрока.ЦветФонаКнопки = ЦветФонаКнопки;
 
КонецПроцедуры

//--------------------------------------------------------------------------
тзВидыБлюд = Новый ТаблицаЗначений;
тзВидыБлюд.Колонки.Добавить("Имя");
тзВидыБлюд.Колонки.Добавить("Представление");
тзВидыБлюд.Колонки.Добавить("ЦветФонаКнопки");

ДобавитьСтрокуВТзВидыБлюд("КомплексныйОбед", "Комплексный обед", WebЦвета.Бирюзовый);
ДобавитьСтрокуВТзВидыБлюд("Первое" , "Первое" , WebЦвета.Аквамарин);
ДобавитьСтрокуВТзВидыБлюд("Второе" , "Второе" , WebЦвета.БледноЗеленый);
ДобавитьСтрокуВТзВидыБлюд("Третье" , "Третье" , WebЦвета.БледноЗолотистый);
ДобавитьСтрокуВТзВидыБлюд("Выпечка" , "Выпечка" , WebЦвета.Васильковый);



//---------------------------------------------------------------------------

мПромежутокМеждуКнопками = 12;
ШрифтКнопки = Новый Шрифт("Arial", 12,Истина);