|
УФ: Программно сделать кнопку и привязать к ней функцию общего модуля? | ☑ | ||
---|---|---|---|---|
0
RetardedToBoot
11.09.19
✎
20:26
|
Можно ли в УФ сделать программно кнопку и привязать к ней вызов из общего модуля?
Цель сделать динамическу коллекцию кнопок добавляемых на форму. Типа в разных рабочих стола дополнительная закладка, куда вставлять эту коллекцию при открытии формы. Если такое можно html вставками, то это не очень, т.к. ломает привычное представление пользователей, по крайней мере где я это делаю. |
|||
1
runoff_runoff
11.09.19
✎
20:38
|
нужно
1. создать команду 2. создать кнопку 3. создать тело процедуры-обработчика команды в модуле формы, в которой будет вызываться нужный метод общего модуля.. |
|||
2
RetardedToBoot
11.09.19
✎
20:42
|
(1) Это то понятно, описаний в инете хватает. Загвоздка в "создать тело процедуры-обработчика команды в модуле формы". Без этого можно, что бы один раз ее описать в общем модуле и все?
|
|||
3
RomanYS
11.09.19
✎
21:21
|
(2) общие (или глобальные?) команды
|
|||
4
vcv
11.09.19
✎
21:32
|
(2) Нельзя. В типовых на БСП можно воспользоваться имеющейся процедурой вызова переопределяемых команд. Только свой кусок вставить в один глобальный модуль.
(3) Глобальную команду нельзя указать для кнопки программно. По крайней мере в распространённых в народе релизах 8.3 |
|||
5
hhhh
11.09.19
✎
22:25
|
(4) ну нельзя, а всё равно этими командами реализовано всё, что он в (0) написал.
|
|||
6
Сияющий в темноте
11.09.19
✎
22:55
|
в модуль формы придется вставить одну процедуру для всех кнопок,которая по идентификатору кнопки понимает,что нужно вызвать,ну или из нее просто вызвать глобальную,передав идентификатор кнопки.
далее,просто. |
|||
7
RetardedToBoot
11.09.19
✎
23:56
|
(6) я примерно так и обдумываю, но вдруг есть лучше вариант среди каких-нибудь новых фич платформы или плохо изученных старых.
|
|||
8
mmmarat
12.09.19
✎
08:36
|
(0) Подобный функционал есть в БСП в ПодключаемыеКомандыПереопределяемый
В ПриОпределенииКомандПодключенныхКОбъекту() определяете список команд, в ПриОпределенииВидовПодключаемыхКоманд() определяете свой раздел при необходимости. Обработчики располагаются в общих клиентских модулях, без изменения непосредственно форм. Делал подобное на документах и справочниках, для своих обработок рабочего стола придется прописать интерфейс подключаемых команд. |
|||
9
Belomor
12.09.19
✎
09:13
|
(0) Погляди http://catalog.mista.ru/public/1118319/
|
|||
10
ironicman
12.09.19
✎
09:40
|
ДобавитьОбработчик <Событие>, <ОбработчикСобытия>
не прокатит? |
|||
11
RetardedToBoot
13.09.19
✎
01:50
|
(10) при использовании ДобавитьОбработчик не определено что будет событием, по крайней мере Команда1.Действие не прокатывает для команды формы Команда1.
=== В общем по результатам исследований... На форме можно сделать кнопку указав глобальную команду. В модуле этой глобальной команды в ее обработчике, в второй параметр система передает форму, откуда был вызван этот обработчик. И у этой формы текущим элементом в момент выполнения сидит та самая нажатая кнопка, в таком расположении: ПараметрыВыполненияКоманды.Источник.ТекущийЭлемент.Имя = "ОбщаяКомандаОбщаяКоманда1"; Впрочем глобальные команды можно понаделать на разные типы кнопк индивидуальные, это же не в каждую форму их запихивать. Все это сладив вроде как можно запустить в таком виде, сам код сделаю и испробую позже. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |