| 
    
            
         
         | 
    
    
  | 
УФ: Программно сделать кнопку и привязать к ней функцию общего модуля? | ☑ | ||
|---|---|---|---|---|
| 
    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"; Впрочем глобальные команды можно понаделать на разные типы кнопк индивидуальные, это же не в каждую форму их запихивать. Все это сладив вроде как можно запустить в таком виде, сам код сделаю и испробую позже.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |