Последний пример, который мы рассмотрим, – это добавление команды. Если бы мы выполняли его в конфигураторе, это выглядело бы следующим образом.
Сначала мы добавим команду формы НоваяКоманда (рис. 3.228).

Рис. 3.228. Добавление команды
Затем мы свяжем эту команду с обработчиком, который будет вызываться при исполнении этой команды (рис. 3.229).

Рис. 3.229. Назначение обработчика команды
После этого добавим в командную панель формы кнопку (рис. 3.230).

Рис. 3.230. Добавление кнопки в командную панель
И в заключение свяжем кнопку командной панели с той командой, которую мы добавили (рис. 3.231).

Рис. 3.231. Связь кнопки с командой
Теперь все те же самые действия выполним программно, из встроенного языка.
Примечание
Пример можно посмотреть в демонстрационной базе «Программное изменение формы», общая форма Форма, команда Добавить команду. Это локальная команда этой формы.
Как и раньше, модификацию формы будем выполнять в серверной контекстной процедуре. Сначала добавим команду НоваяКоманда (листинг 3.181).
Листинг 3.181. Добавление команды
// Добавить команду.
НоваяКоманда = Команды.Добавить("НоваяКоманда");
В результате мы имеем состояние, показанное на рисунке 3.228.
Назначим этой команде обработчик – процедуру, которая была создана в модуле формы заранее, на этапе конфигурирования (листинг 3.182).
Листинг 3.182. Назначение обработчика команды
НоваяКоманда.Действие = "КомандаФормыДобавленнаяПрограммно";
В результате мы имеем состояние, показанное на рисунке 3.229.
Добавим кнопку в командную панель формы (листинг 3.183).
Листинг 3.183. Добавление кнопки в командную панель
// Добавить кнопку и связать ее с командой.
НовыйЭлемент = Элементы.Добавить("КнопкаНоваяКоманда", Тип("КнопкаФормы"), Элементы.ФормаКоманднаяПанель);
Здесь мы указываем родителя для добавляемой кнопки – существующую в форме командную панель Элементы.ФормаКоманднаяПанель.
В результате мы имеем состояние, показанное на рисунке 3.230.
Свяжем кнопку с командой и укажем, что кнопка будет являться кнопкой по умолчанию (она будет выделена среди других кнопок командной панели) – листинг 3.184.
Листинг 3.184. Связь кнопки с командой
НовыйЭлемент.ИмяКоманды = "НоваяКоманда";
НовыйЭлемент.КнопкаПоУмолчанию = Истина;
В результате мы имеем состояние, показанное на рисунке 3.231.
После этого можно запустить систему в режиме 1С:Предприятие и посмотреть, как работает наша команда Добавить команду.
В результате ее выполнения в командной панели формы появится кнопка Новая команда. А при нажатии этой кнопки в окно сообщений будет выведен отладочный текст (рис. 3.232).

Рис. 3.232. Кнопка в форме