Имя: Пароль:
1C
1С v8
ОФ. Как назначить обработчик "стандартного" события кнопки Скопировать Дерева значений
0 withoutname
 
12.05.20
17:33
Собственно сабж.
Имеется созданное программно Дерево значений (ДЗ) на форме, командная панель к ней привязанная, несколько своих кнопок (с созданными экспортными процедурами).
И вот потребовалось добавить кнопку Скопировать. Как ее добавить, чтобы не создавать свои процедуры?
1 Franchiser
 
гуру
12.05.20
19:16
Добавить стандартную команду "скопировать" из соответствующего раздела
2 Franchiser
 
гуру
12.05.20
19:18
Команды - Стандартные команды - твое дерево - скопировать
3 withoutname
 
13.05.20
09:19
(1) (2) это обычные формы
4 Галахад
 
гуру
13.05.20
09:33
Так?
НовыйЭлемент = ЭлементыФормы.КоманднаяПанельТовары.Кнопки.Добавить("Действие2", Тип("КнопкаКоманднойПанели"), "&Скопировать",Новый Действие("Действие2"));
НовыйЭлемент.Доступность = Истина;
НовыйЭлемент.Подсказка = "Добавить копированием";
5 withoutname
 
13.05.20
10:07
(4) типа того, только не понятно что тут "Новый Действие("Действие2")" указать, чтобы не городить свои процедуры?
6 withoutname
 
13.05.20
15:03
ап
7 withoutname
 
14.05.20
09:55
ни как что-ли?
8 withoutname
 
20.05.20
09:45
может сегодня есть знающие люди? )
9 withoutname
 
14.08.20
11:22
Кстати, нашел как это сделать )

1. При создании Командной панели, указываем у нее Источник действий, Автозаполнение = Истина
2. Цикл по кнопкам этой Командной панели с заполнением Массива
3. Устанавливаем Автозаполнение = Ложь

Единственный нюанс: Имена у Кнопок устанавливаются Действие1...N. Приходится искать кнопки по Подсказке

Пример

КоманднаяПанель = ЭлементыФормы.Добавить(Тип("КоманднаяПанель"), "КПУслугиСМР", Истина, ЭлементыФормы.ОсновнаяПанель);
//:КоманднаяПанель = Новый КоманднаяПанель
КоманднаяПанель.ИсточникДействий = ЭлементыФормы.ТП_УслугиСМР;
КоманднаяПанель.Верх = 0;
КоманднаяПанель.Высота = 22;
КоманднаяПанель.Ширина = 622;
КоманднаяПанель.Лево = 6;
КоманднаяПанель.Доступность = Истина;
КоманднаяПанель.АвтоЗаполнение = Истина;
МассивКнопок = Новый Массив;
Для Каждого Кнопка Из КоманднаяПанель.Кнопки Цикл
    МассивКнопок.Добавить(Кнопка);
КонецЦикла;
КоманднаяПанель.АвтоЗаполнение = Ложь;
КоманднаяПанель.АвтоКонтекстноеМеню = Истина;
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой