|   |   | 
| 
 | Как создать свои кнопки и менюшки в УФ? | ☑ | ||
|---|---|---|---|---|
| 0
    
        kumena 26.08.14✎ 14:55 | 
        Нужен пример кода.     | |||
| 1
    
        Maxus43 26.08.14✎ 14:57 | 
        Код? там почти всё без кода делается... мышкой тычЬ     | |||
| 2
    
        Бешеная Нога 26.08.14✎ 14:58 | 
        стаж 10 лет...     | |||
| 3
    
        kumena 26.08.14✎ 14:58 | 
        мне надо из кода формировать     | |||
| 4
    
        kumena 26.08.14✎ 15:00 | 
        (2) и че? я запросы по 7 тысяч строк пишу, а с этой куетой не разбирался.     | |||
| 5
    
        beer_fan 26.08.14✎ 15:01 | 
        (4) Ох зря ты это сказал... ща понесется...     | |||
| 6
    
        kumena 26.08.14✎ 15:01 | 
        +3 динамические должны быть менюшки, плюс на ходу меняться в журнале     | |||
| 7
    
        kumena 26.08.14✎ 15:02 | 
        (5) у меня не понесется )))     | |||
| 8
    
        Dmitrith 26.08.14✎ 15:03 | 
        (4) пакеж запрос какой-нибудь ))     | |||
| 9
    
        Fish гуру 26.08.14✎ 15:03 | 
        (0) Посмотреть в типовых не предлагать?     | |||
| 10
    
        Повелитель 26.08.14✎ 15:03 | 
        (4) У профи запрос больше 10 строк не бывает ))     | |||
| 11
    
        Midzgun 26.08.14✎ 15:04 | 
        НовыйЭлемент = Элементы.Добавить(); 
 потом по синтакс помощнику поменять все необходимые свойства и все. | |||
| 12
    
        Maxus43 26.08.14✎ 15:05 | 
        там это, командный интерфейс на подситемах, ФО, ролях и прочее. В УФ отсутсвует декларативное описание интерфейса, он априории строится динамически самой системой на основании вышеперечисленного.
 ФО навесь на них, программно менять можно их... не? | |||
| 13
    
        badboychik 26.08.14✎ 15:07 | 
        (12) плюсую
 Добавлять из кода элементы и лапшу свойств это не comme il faut | |||
| 14
    
        DrZombi гуру 26.08.14✎ 15:07 | 
        // Расположим на странице командную панель
 КоманднаяПанельАктовВзвешивания = ЭлементыФормы.Добавить(Тип("КоманднаяПанель"), ИмяСраницы, Истина, ЭлементыФормы[ИмяКоманднойПанели]); КоманднаяПанельАктовВзвешивания.Верх = 1; КоманднаяПанельАктовВзвешивания.Лево = 6; КоманднаяПанельАктовВзвешивания.Ширина = ЭлементыФормы[ИмяКоманднойПанели].Ширина - 12 - 2; КоманднаяПанельАктовВзвешивания.Высота = 24; КоманднаяПанельАктовВзвешивания.УстановитьПривязку(ГраницаЭлементаУправления.Верх,ЭлементыФормы[ИмяКоманднойПанели],ГраницаЭлементаУправления.Верх); КоманднаяПанельАктовВзвешивания.УстановитьПривязку(ГраницаЭлементаУправления.Низ,ЭлементыФормы[ИмяКоманднойПанели],ГраницаЭлементаУправления.Верх); КоманднаяПанельАктовВзвешивания.УстановитьПривязку(ГраницаЭлементаУправления.Право,ЭлементыФормы[ИмяКоманднойПанели],ГраницаЭлементаУправления.Право); КоманднаяПанельАктовВзвешивания.УстановитьПривязку(ГраницаЭлементаУправления.Лево,ЭлементыФормы[ИмяКоманднойПанели],ГраницаЭлементаУправления.Лево); // Расположим на странице табличное поле ПолеАктовВзвешивания = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), ИмяТаблПоля, Истина, ЭлементыФормы[ИмяКоманднойПанели]); //ПолеАктовВзвешивания.Данные = "ТаблицаЗначений"; ПолеАктовВзвешивания.Значение = ЗначениеТЗ; ПолеАктовВзвешивания.Верх = 25; ПолеАктовВзвешивания.Лево = 6; ПолеАктовВзвешивания.Ширина = ЭлементыФормы[ИмяКоманднойПанели].Ширина - 12 - 2; ПолеАктовВзвешивания.Высота = ЭлементыФормы[ИмяКоманднойПанели].Высота - 24 - 12 - 20; ПолеАктовВзвешивания.ТолькоПросмотр = Ложь; ПолеАктовВзвешивания.ИзменятьПорядокСтрок = Истина; ПолеАктовВзвешивания.ИзменятьСоставСтрок = Истина; ПолеАктовВзвешивания.УстановитьПривязку(ГраницаЭлементаУправления.Верх,ЭлементыФормы[ИмяКоманднойПанели],ГраницаЭлементаУправления.Верх); ПолеАктовВзвешивания.УстановитьПривязку(ГраницаЭлементаУправления.Низ,ЭлементыФормы[ИмяКоманднойПанели],ГраницаЭлементаУправления.Низ); ПолеАктовВзвешивания.УстановитьПривязку(ГраницаЭлементаУправления.Право,ЭлементыФормы[ИмяКоманднойПанели],ГраницаЭлементаУправления.Право); ПолеАктовВзвешивания.УстановитьПривязку(ГраницаЭлементаУправления.Лево,ЭлементыФормы[ИмяКоманднойПанели],ГраницаЭлементаУправления.Лево); ПолеАктовВзвешивания.СоздатьКолонки(); //***************************************************************************** | |||
| 15
    
        DrZombi гуру 26.08.14✎ 15:08 | 
        Как то подобно толстому :)     | |||
| 16
    
        floody 26.08.14✎ 15:10 | 
        Книжка "Разработка управляемого интерфейса", страница 584.     | |||
| 17
    
        kumena 26.08.14✎ 15:11 | 
        (8) прям сюда вывалить?
 (9) голова уже опухла, нужен пример попроще и с нуля. (10) ты просто серьезных отчетов не делал. (14) спасибо! | |||
| 18
    
        badboychik 26.08.14✎ 15:12 | 
        (15) откуда привязки и лево-право в УФ ?
 P.S. УЖ это как ЁЖ только длинный и лысый | |||
| 19
    
        kumena 26.08.14✎ 15:13 | 
        (16) точно!     | |||
| 20
    
        Maxus43 26.08.14✎ 15:14 | 
        (18) это код из толстого клиента конечно, не УФ.
 Он и пишет - подобно делать...) | |||
| 21
    
        Zamestas 26.08.14✎ 15:26 | 
        (0) Как то так:
 &НаСервере Процедура ЗапилитьКнопку(ФормаВладелец) //ФормаВладелец - вызываешь как ЗапилитьКнопку(ЭтаФоома) ЭлементКудаВставлять = ФормаВладелец.Элементы.Найти("ИмяЭлементаФормыКудаВставлять"); НоваяКоманда = ФормаВладелец.Команды.Добавить("ИмяКоманды"); НоваяКоманда.Действие ="ДействиеКомандыЗапилаДверей"; НоваяКоманда.Заголовок ="Запилить двери"; НоваяКоманда.Картинка = БиблиотекаКартинок.КартинкаЗапилаДверей; НоваяКоманда.Отображение = ОтображениеКнопки.КартинкаИТекст; НовыйЭлемент = ФормаВладелец.Элементы.Добавить("КнопкаЗапилитьДвери", Тип("КнопкаФормы"), ЭлементКудаВставлять); НовыйЭлемент.ИмяКоманды = "ИмяКоманды"; НовыйЭлемент.ТолькоВоВсехДействиях = Ложь; КонецПроцедуры //В модуле формы &НаКлиенте Процедура ДействиеКомандыЗапилаДверей(Команда) ЗапилитьДвериНаСервереЕслиНадо(); КонецПроцедуры | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |