Имя: Пароль:
1C
1С v8
Новый Действие("Процедура с параметрами") - возможно ли?
0 impulse9
 
28.11.12
06:03
Добрый день!

Из ТЗ собирается командная панель, и мне нужно определить для каждой кнопки свое событие, желательно вызов процедуры с параметром = имякнопки, или еще каким-нибудь способом.

Возможно ли это?
1 impulse9
 
28.11.12
06:10
Забыл уточнить, это 1С:Предприятие 8.1 (8.1.15.14)
2 Wobland
 
28.11.12
06:20
текущий элемент у тулбара есть?
3 impulse9
 
28.11.12
06:27
Нет, вся командная панель формируется программно из элементов справочника.
4 Wobland
 
28.11.12
06:37
ну наделай ты двадцать событий - по одному для каждой кнопки
5 Defender aka LINN
 
28.11.12
06:39
Ничего, что в обработчик кнопка передается?
6 Wobland
 
28.11.12
06:41
(5) сама? при программном назначении?
7 Defender aka LINN
 
28.11.12
06:41
(6) При любом
8 impulse9
 
28.11.12
06:41
(4) вообще не вариант, кнопок около 200-250, количетсво постоянно меняется

(5) можно поподробнее? как в процедуре обработки события обратиться к нажатой кнопке?
9 Wobland
 
28.11.12
06:43
(8) количество меняется. а поведение обработчика на лету переписывается?
скрин хочу с двумя сотнями кнопок. чисто поржать ;)
10 Godofsin
 
28.11.12
06:45
(9) Присоединяюсь.
11 impulse9
 
28.11.12
06:50
12 impulse9
 
28.11.12
06:52
(9) не понял про обработчик.

Программно рисуется командная панель, каждой кнопке присваивается некое действие. Мне надо, чтобы при выполнении этого действия можно было узнать, какая кнопка была нажата
13 Wobland
 
28.11.12
06:54
(12) у Дефендера спроси, он знает
14 Defender aka LINN
 
28.11.12
07:03
Вы когда-нибудь обработчик нажатия кнопки видели, не?
15 impulse9
 
28.11.12
07:04
(14) нет
16 Рэйв
 
28.11.12
07:05
(12)Действию назначеается только Имя проедуры
В определении процедуры есть предопределенный параметр  Элемент.

То есть если ты пишешь
Новый  Действие("КакаяТоПроцедура"),
то ее определение:

Процедура КакаяТоПроцедура(Элемент)
    Сообщить("Имя кнопки:"+Элемент.Имя);
КонецПроцедуры
17 Рэйв
 
28.11.12
07:06
+А вообще зачем тебе знать какая кнопка нажата если для каждой кнопки по идее должна быть своя процедура нажатия?
18 impulse9
 
28.11.12
07:07
(16) Спасибо, то что надо!
19 Wobland
 
28.11.12
07:09
(17) у него меню на основе справочника строится.
я б делал что-то типа Выполнить(РеквизитСправочникаСПроцедурой)
20 Wobland
 
28.11.12
07:09
что будет происходить при изменении состава справочника?
21 impulse9
 
28.11.12
07:15
(17) Справочник многоуровневый, для каждой кнопки одна обработка, в которой по (16) получаю имя кнопки. Все круто, спасибо еще раз

(20) При изменении состава справочника отрабатывается процедура ЗаполнитьКоманднуюПанель(), в которой вначале запросом получаем нужные элементы (группы товаров, в которых есть товары с количеством больше нуля), а потом по ним создаем
многоуровневую командную панель
22 kosts
 
28.11.12
07:16
(11) Поиском уже не воспользоваться. Может лучше деревом...
23 impulse9
 
28.11.12
07:17
Это менюшка для тачскрина, командная панель удобнее
24 Wobland
 
28.11.12
07:32
(21) код обработчиков тоже создаётся, конфигурация обновляется, система перезапускается?