Имя: Пароль:
1C
1С v8
Как создать свои кнопки и менюшки в УФ?
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) Как то так:

&НаСервере
Процедура ЗапилитьКнопку(ФормаВладелец)
    
    //ФормаВладелец - вызываешь как ЗапилитьКнопку(ЭтаФоома)
    
    ЭлементКудаВставлять        = ФормаВладелец.Элементы.Найти("ИмяЭлементаФормыКудаВставлять");
    
    НоваяКоманда                = ФормаВладелец.Команды.Добавить("ИмяКоманды");
    НоваяКоманда.Действие        ="ДействиеКомандыЗапилаДверей";
    НоваяКоманда.Заголовок        ="Запилить двери";
    НоваяКоманда.Картинка        = БиблиотекаКартинок.КартинкаЗапилаДверей;
    НоваяКоманда.Отображение    = ОтображениеКнопки.КартинкаИТекст;

    НовыйЭлемент = ФормаВладелец.Элементы.Добавить("КнопкаЗапилитьДвери", Тип("КнопкаФормы"), ЭлементКудаВставлять);
    НовыйЭлемент.ИмяКоманды = "ИмяКоманды";
    НовыйЭлемент.ТолькоВоВсехДействиях = Ложь;
    
КонецПроцедуры

//В модуле формы
&НаКлиенте
Процедура ДействиеКомандыЗапилаДверей(Команда)
    ЗапилитьДвериНаСервереЕслиНадо();    
КонецПроцедуры