![]() |
|
Программно добавить "Вывести список", "Настройка списка" | ☑ | ||
---|---|---|---|---|
0
nufnufcheg
01.06.14
✎
13:45
|
Обычные формы, контекстное меню табличного поля.
Следующим кодом контекстному меню табличного поля определяется собственный набор команд: ИмяМенюТабличнойЧасти = "НовоеКонтекстноеМеню"+ИмяТабЧасти; ЭлементыФормыДокумента[ИмяТабЧасти].АвтоКонтекстноеМеню = Ложь; ЭлементыФормыДокумента.Добавить(Тип("КоманднаяПанель"),ИмяМенюТабличнойЧасти,Истина); ЭлементыФормыДокумента[ИмяМенюТабличнойЧасти].ИсточникДействий = ЭлементыФормыДокумента[ИмяТабЧасти]; ЭлементыФормыДокумента[ИмяМенюТабличнойЧасти].АвтоЗаполнение = Истина; ЭлементыФормыДокумента[ИмяТабЧасти].КонтекстноеМеню = ЭлементыФормыДокумента[ИмяМенюТабличнойЧасти]; ЭлементыФормыДокумента[ИмяМенюТабличнойЧасти].Кнопки.Вставить(0,"Разделитель_" ,ТипКнопкиКоманднойПанели.Разделитель, ,); ЭлементыФормыДокумента[ИмяМенюТабличнойЧасти].Кнопки.Вставить(0,"ВедомостьТоварыНаСкладах" ,ТипКнопкиКоманднойПанели.Действие,"Товары на складах" ,Новый Действие("ПоказатьОтчетПоНоменклатуре")); В итоге получается следующий состав контекстного меню: "ВедомостьТоварыНаСкладах" Действие ПоказатьОтчетПоНоменклатуре "Товары на складах" "Разделитель_" Разделитель "Действие" Действие Добавить "&Добавить" "Действие1" Действие Скопировать "&Скопировать" "Действие2" Действие Изменить "&Изменить" "Действие3" Действие Удалить "&Удалить" "Действие4" Действие Закончить редактирование "Закончить редактирование" "Действие5" Действие Переместить вверх "&Переместить вверх" "Действие6" Действие Переместить вниз "&Переместить вниз" "Действие7" Действие Сортировать по возрастанию "Сортировать по возрастанию" "Действие8" Действие Сортировать по убыванию "Сортировать по убыванию" Вопрос. Как в него включить две команды "Вывести список" и "Настройка списка"? напрашивается через метод Добавить или Вставить, так же как добавлена команда "Товары на складах". Но что указать в действии? ЭлементыФормыДокумента[ИмяМенюТабличнойЧасти].Кнопки.Вставить(Позиция,Имя,ТипКнопкиКоманднойПанели.Действие,Заголовок, АВОТТУТЧТОУКАЗАТЬ) Как получить Действие.НастройкаСписка? |
|||
1
zulu_mix
01.06.14
✎
13:59
|
Новый Действие("ИмяПроцедуры-Обработчика")
|
|||
2
nufnufcheg
01.06.14
✎
14:00
|
(1) Новый Действие("ТиповоеДействиеНастройкаСписка")?
|
|||
3
zulu_mix
01.06.14
✎
14:08
|
(2) а в коде есть процедура с таким именем?
|
|||
4
nufnufcheg
01.06.14
✎
14:37
|
(3) в том то и дело, что это типовое действие, наподобие "Скопировать", "Сортировать по возрастанию", но написать Действие = Новый Действие("Скопировать") нельзя.
Вопрос как раз в том, как установить это типовое действие |
|||
5
zulu_mix
01.06.14
✎
14:43
|
положи на форму командную панель, сделай ее невидимой, свяжи с источником данных, обойди все кнопки меню, найди нужную, получи из нее Действие.
|
|||
6
nufnufcheg
01.06.14
✎
14:49
|
(5) не поверишь, пока так и сделал) но это же через оппу)
|
|||
7
zulu_mix
01.06.14
✎
14:50
|
(6) а по другому в этом случае никак
|
|||
8
nufnufcheg
01.06.14
✎
16:59
|
если кому интересно на будущее:
ДействиеНастройкаСписка = ЗначениеИзСтрокиВнутр("{""#"",6eb4b32a-c85d-4073-a1b5-7d82cb459b38, |{1,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, |{6,4294967295,00000000-0000-0000-0000-000000000000,97, |{1,99,357c6a54-357d-425d-a2bd-22f4f6e86c87,2147483647,0},0,1} |} |}"); ДействиеВыводСписка = ЗначениеИзСтрокиВнутр("{""#"",6eb4b32a-c85d-4073-a1b5-7d82cb459b38, |{1,1,fbe38877-b914-4fd5-8540-07dde06ba2e1, |{6,4294967295,00000000-0000-0000-0000-000000000000,99, |{1,99,357c6a54-357d-425d-a2bd-22f4f6e86c87,2147483647,0},0,1} |} |}"); ЭлементыФормыДокумента[ИмяМенюТабличнойЧасти].Кнопки.Добавить("Разделитель_2" ,ТипКнопкиКоманднойПанели.Разделитель, , ); ЭлементыФормыДокумента[ИмяМенюТабличнойЧасти].Кнопки.Добавить("НастройкаСписка" ,ТипКнопкиКоманднойПанели.Действие, "Настройка списка" , ДействиеНастройкаСписка); ЭлементыФормыДокумента[ИмяМенюТабличнойЧасти].Кнопки.Добавить("ВывестиСписок" ,ТипКнопкиКоманднойПанели.Действие, "Вывести список" , ДействиеВыводСписка); данные команды были добавлены на форму вручную, в отладчике сериализовал и получил их код. теперь их можно использовать программно))) пользуйтесь P.S. от чего зависит сериализованное значение - хз. в разных конфигах и на разных платформах сериализованное значение оказалось одинаковым. так что сей код можно считать универсальным) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |