4. Запуск нужной процедуры соответсвующей названию кнопки.
Осталось немного.В свойствах основной кнопки на закладке Дополнительно в поле формула напишем:
ЗапускПроцедуры() и сформируем тело процедуры. Значит так, после установки заголовка кнопки, когда мы будем на ней кликать должна запустится соответствующая процедура. Например, заголовок Выход - запустится процедура Выход(). Т.к. к моменту запуска процедуры ЗапускПроцедуры() нам уже известен заголовок кнопки, осталось лишь проанализировать его.
Процедура ЗапускПроцедуры()
Заг=Форма.Кнопка.Заголовок();//получим заголовок кнопки
Если Заг="Удалить" Тогда
Удалить();
ИначеЕсли Заг="Добавить" Тогда
Добавить();
ИначеЕсли Заг="Очистить" Тогда
Очистить();
ИначеЕсли Заг="Просмотр" Тогда
Просмотр();
Иначе
Выход();
КонецЕсли;
КонецПроцедуры
Соберем все вместе:
Перем Сз;
Перем Поз;
Процедура Выход()
Сообщить("Ура, вышли!");
КонецПроцедуры
//*******************************************
Процедура ПриВыборе()
Сз.ВыбратьЗначение(,,Поз,,1);
Если Поз=1 Тогда
Форма.Кнопка.Заголовок(Сз.ПолучитьЗначение(1));
ИначеЕсли Поз=2 Тогда
Форма.Кнопка.Заголовок(Сз.ПолучитьЗначение(2));
ИначеЕсли Поз=3 Тогда
Форма.Кнопка.Заголовок(Сз.ПолучитьЗначение(3));
ИначеЕсли Поз=4 Тогда
Форма.Кнопка.Заголовок(Сз.ПолучитьЗначение(4));
Иначе
Форма.Кнопка.Заголовок(Сз.ПолучитьЗначение(5));
КонецЕсли;
КонецПроцедуры
//******************************************************************************
Процедура ЗапускПроцедуры()
Заг=Форма.Кнопка.Заголовок();
Если Заг="Удалить" Тогда
// Удалить();//рэмы потому что таких процедур пока нет.
ИначеЕсли Заг="Добавить" Тогда
// Добавить();
ИначеЕсли Заг="Очистить" Тогда
// Очистить();
ИначеЕсли Заг="Просмотр" Тогда
// Просмотр();
Иначе
Выход();
КонецЕсли;
КонецПроцедуры
//*********************************************************
Сз=СоздатьОбъект("СписокЗначений");
Сз.ДобавитьЗначение("Удалить");
Сз.ДобавитьЗначение("Добавить");
Сз.ДобавитьЗначение("Очистить");
Сз.ДобавитьЗначение("Просмотр");
Сз.ДобавитьЗначение("Выход");
Если в свойствах кнопки Действие на закладке Дополнительно в поле формула написать: ПриВыборе();ЗапускПроцедуры() - то можно обойтись и без маленькой кнопки. В этом случае запуск нужной процедуры осуществляется одновременно с выбором заголовка. Но это кому как удобно.
Кроме того, чтобы не видеть при запуске безликий заголовок Действие, лучше установить наиболее часто употребляемый, например Просмотр. Для этого в разделе инициализации, в самом конце, дописываем:Форма.Кнопка.Заголовок(Сз.ПолучитьЗначение(4));