0
le_
13.09.10
✎
11:53
|
В обычной форме было динамически формируемое подменю:
Процедура ЗаполнитьПодменюПодбора()
Запрос = Новый Запрос;
Запрос.Текст = "...",
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ЭлементыФормы.КоманднаяПанельПродукция.Кнопки.КнПодбор.Кнопки.Добавить(Выборка.Код, ТипКнопкиКоманднойПанели.Действие, Выборка.Наименование, Новый Действие("МойПодбор"));
КонецЦикла;
КонецПроцедуры
Процедура МойПодбор(Элемент)
Если Элемент.Имя = "Имя1" Тогда
Действие1();
Иначе Если Элемент.Имя = "Имя2" Тогда
Действие2();
КонецЕсли;
КонецПроцедуры
В управляемой форме пытаюсь сделать то же самое:
&НаСервере
Процедура ЗаполнитьПодменюПодборапоБрэндам()
Запрос = Новый Запрос;
Запрос.Текст = "...";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НоваяКнопка = Элементы.Добавить("_"+Выборка.Код, Тип("КнопкаФормы"), Элементы.ГруппаПодборПоБрэндам);
НоваяКнопка.ИмяКоманды = "КомандаПодборПоБрэндам";
НоваяКнопка.Заголовок = Выборка.Наименование;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура КомандаПодборПоБрэндам(Команда)
//ВОПРОС: КАК ЗДЕСЬ УЗНАТЬ, КАКАЯ КНОПКА БЫЛА НАЖАТА?
//Имя кнопки нужно, чтобы выполнять различные действия
//для различных кнопок.
Сообщить("aaa");
КонецПроцедуры
Вопрос в комментарии выше.
|
|
2
le_
13.09.10
✎
12:08
|
(1) Сделал так: &НаСервере Процедура ЗаполнитьПодменюПодборапоБрэндам() Запрос = Новый Запрос; Запрос.Текст = "..."; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НоваяКнопка = Элементы.Добавить("_"+Выборка.Код, Тип("КнопкаФормы"), Элементы.ГруппаПодборПоБрэндам); НоваяКоманда = ЭтаФорма.Команды.Добавить("КомандаПодборПоБрэндам" + Выборка.Код); НоваяКоманда.Действие = "КомандаПодборПоБрэндам"; НоваяКнопка.ИмяКоманды = "КомандаПодборПоБрэндам" + Выборка.Код; НоваяКнопка.Заголовок = Выборка.Наименование; КонецЦикла; КонецПроцедуры &НаКлиенте Процедура КомандаПодборПоБрэндам(Команда) Сообщить(Команда.Имя); КонецПроцедуры
|
|