|
Стандартные действия кнопки командной панели | ☑ | ||
---|---|---|---|---|
0
vicof
18.01.13
✎
06:41
|
Был переделан типовой справочник, добавлена иерархия.
Сейчас выношу изменения из формы в код. Возник вопрос. Каким образом программно назначить кнопке командной панели стандартное действие, например "Создать группу"? Кнопка.Действие = НовыйДействие("чего тут написать?"); |
|||
1
vicof
18.01.13
✎
06:41
|
*Новый Действие
|
|||
2
k1us181b
18.01.13
✎
07:36
|
Действие (Action)
Использование: Чтение и запись. Описание: Тип: Строка. Содержит имя процедуры обработчика команды. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент. Примечание: Изменение доступно только на сервере. |
|||
3
k1us181b
18.01.13
✎
07:39
|
Процедура из БСП
Процедура ОбновитьДанныеКнопкиНастройки() Если РежимОбмена = "Выгрузка" И ОбработкиНастройкиВыгрузки.Количество() > 0 Тогда ДобавитьКнопкуНастроекПриНеобходимости(); Если ОбработкиНастройкиВыгрузки.Количество() = 1 Тогда // Кнопка типа Действие мКнопкаНастройки.ТипКнопки = ТипКнопкиКоманднойПанели.Действие; мКнопкаНастройки.Имя = ОбработкиНастройкиВыгрузки.Получить(0).Значение; мКнопкаНастройки.Текст = ОбработкиНастройкиВыгрузки.Получить(0).Представление; Иначе // Кнопка типа Подменю мКнопкаНастройки.ТипКнопки = ТипКнопкиКоманднойПанели.Подменю; мКнопкаНастройки.Имя = "Настройки"; мКнопкаНастройки.Текст = "Настройки"; мКнопкаНастройки.Кнопки.Очистить(); Для Каждого Эл Из ОбработкиНастройкиВыгрузки Цикл мКнопкаНастройки.Кнопки.Добавить(Эл.Значение, ТипКнопкиКоманднойПанели.Действие, Эл.Представление, Новый Действие("ДействияФормыНастройки")); КонецЦикла; КонецЕсли; Иначе УдалитьКнопкуНастроек(); КонецЕсли; КонецПроцедуры |
|||
4
vicof
18.01.13
✎
07:40
|
(3) Для своих процедур все понятно. А для стандартных?
|
|||
5
vicof
18.01.13
✎
08:13
|
Автозаполнение отключено.
|
|||
6
1Сергей
18.01.13
✎
08:16
|
Почему именно в коде это надо сделать?
|
|||
7
vicof
18.01.13
✎
08:21
|
Чтобы обновляться проще было.
|
|||
8
vicof
18.01.13
✎
09:43
|
Сделал так.
ЭлементыФормы.ДействияФормы.Кнопки.Очистить(); ЭлементыФормы.ДействияФормы.АвтоЗаполнение = Истина; Но мне не нравится. Хоцца красивше. |
|||
9
vicof
18.01.13
✎
11:01
|
+
|
|||
10
Reset
18.01.13
✎
11:33
|
В качестве развлечения и апа темы могу прдложить, напротив, более страшный вариант:
Но никакой гарантии на то, что внутреннее представление действия не изменится с версией платформы, нет :( Как не менее кривой вариант можно предложить (8), затем считывание значений действий в переменные, затем самостоятельное создание кнопок. Или при инициализации считывать действие с какой-л другой формы, где нужная кнопка есть. В общем, "красивше" сделать не удается ;) |
|||
11
Reset
18.01.13
✎
11:36
|
Шестение СП на предмет системного перечисления ничего не дало
|
|||
12
Reset
18.01.13
✎
11:36
|
шерстение*
|
|||
13
vicof
18.01.13
✎
13:37
|
(12) во-во, походу нельзя так. Негибко как-то получается.
|
|||
14
Reset
18.01.13
✎
13:50
|
Можно облагородить внешний вид как-то так
Гдето в общедоступном месте: ДействияСправочникСписок=Новый Структура; ДействияСправочникСписок.Вставить("Добавить",ЗначениеИзСтрокиВнутр("{""#"",6eb4b32a-c85d-4073-a1b5-7d82cb459b38, |{1,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, |{6,4294967295,00000000-0000-0000-0000-000000000000,80, |{1,99,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0},0,1}}}")); ДействияСправочникСписок.Вставить("ДобавитьГруппу",ЗначениеИзСтрокиВнутр("{""#"",6eb4b32a-c85d-4073-a1b5-7d82cb459b38, |{1,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, |{6,4294967295,55c7732c-0c33-4394-adca-9d15082552b6,6, |{1,99,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,1},0,1}}}")); Потом в нужных местах использовать ЭлементыФормы.КоманднаяПанель2.Кнопки.Добавить("ДобавитьГруппу", ТипКнопкиКоманднойПанели.Действие, "ДобавитьГруппу", ДействияСправочникСписок.ДобавитьГруппу); Я проверил на 8.1.15 и 8.2.16, работает, но возможность останется недокументированной. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |