Имя: Пароль:
1C
1С v8
Генерация команды УФ
0 alexandr_87
 
28.12.17
15:07
Добавил группу на форму, и программно добавляю кнопки к этой группе(получается выпадающий список), добавляю команду а ней действие
<code>
<pre>
    ИмяКоманды = "ВК" + ИмяКнопки;
    Команда = Команды.Добавить(ИмяКоманды);
    Команда.Действие = "НабратьКонтрагента";
    НоваяКнопка = Элементы.Добавить(ИмяКнопки, Тип("КнопкаФормы"),
    ГруппаРодитель);
    НоваяКнопка.ИмяКоманды                 = ИмяКоманды;
</pre>
</code
Для обработчика "НабратьКонтрагента" надо передать параметры, но как это сделать я не вкурил, может кто нибудь сталкивался с этой задачей и поможет. Спасибо
1 Mankubus
 
28.12.17
15:21
(0) не добавить туда параметры
2 LienXo
 
28.12.17
15:53
Никаких параметров ты туда не передашь - такая же процедура обработки команды как и обычная на форме, т.е.
&НаКлиенте
Процедура НабратьКонтрагента(Команда)
3 alexandr_87
 
28.12.17
16:55
Как тогда решить, в зависимость от нажатой кнопки обработчик должен выполнятся с разными параметрами
4 Numerus Mikhail
 
28.12.17
16:56
(3) для каждой кнопки разные обработчики
5 Вафель
 
28.12.17
16:57
можно еще анализировать текущую кнопку, но 1с рекомендует отдельные команды делать
6 Вафель
 
28.12.17
16:57

&НаКлиенте
Процедура НабратьКонтрагента1(Команда)
   НабратьКонтрагента(П1)
КонецПроцедуры

&НаКлиенте
Процедура НабратьКонтрагента2(Команда)
   НабратьКонтрагента(П2)
КонецПроцедуры
7 drcrasher
 
28.12.17
16:57
Команда.Имя
8 alexandr_87
 
28.12.17
17:17
У меня динамически формируются кнопки, поэтому не могу знать количество обработчиков, поэтому делаю один обработчик и вызывать надо с разными параметрами
9 hhhh
 
28.12.17
17:44
(8) ну читай (7) тогда до полного просветления
10 LienXo
 
29.12.17
11:00
(8) параметр у тебя один - имя команды. В зависимости от него настраиваешь обработчик
11 drcrasher
 
29.12.17
12:24
+(9) ещё можно покурить подключаемые команды и/или печать документов
12 Новиков
 
29.12.17
13:45
Если ты в типовом мире живешь - там все уже сделано до тебя: ВПФ и вот это все.
13 alexandr_87
 
29.12.17
17:41
Спасибо сделал по другому
<code>
Список = Новый СписокЗначений;
//заполнения списка
Результат= ВыбратьИзМеню(Список,Элементы.КнВызова)
</code>