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