Имя: Пароль:
1C
1С v8
Добавляем элементы формы Кодом
0 88g88
 
03.10.16
11:10
Делюсь, вдруг пригодится.
Процедура ДобавляемЭлементыФормы ()
    //Перед добавлением надо проверить форму на свободное место чтобы новые элементы поместились.
    // правим малость родные элементы, чтобы поместилось
    ЭлементыФормы.РамкаГруппыПрочее.Верх = 75;
    //в той форме на основе которой пример было поле ввода под описание для того чтобы его опустить ниже сначала уменьшил высоту потом верхнею грацу опустил вниз
//Можно долго гадать с позицией для ускорения правим ручками и переписываем значения нового положения из свойств объекта.
        ЭлементыФормы.Описание.Высота = 148;
    ЭлементыФормы.Описание.Верх = 90;
        
    //Надпись СфераДеятельности
    Надпись = ЭлементыФормы.Добавить(Тип("Надпись"),"НадписьСфераДеятельности",Истина,ЭлементыФормы.ПанельДопОбщее);
    Надпись.Заголовок = "Сфера деятельности:";
    //Положение новых элементов тоже проще переписать создав элемент не кодом а через интерфейс.
        Надпись.Лево = 0;
    Надпись.Верх = 50;
    Надпись.Высота = 19;
    Надпись.Ширина = 115;
    
    // поле ввода  СфераДеятельности
    Сфера = ЭлементыФормы.Добавить(тип("ПолеВвода"),"ВыборСфераДеятельности",Истина,ЭлементыФормы.ПанельДопОбщее);
    Сфера.Данные = "СфераДеятельности";
    Сфера.Верх = 50;
    Сфера.Лево = 117;
    Сфера.Высота = 19;
    Сфера.Ширина = 448;
    Сфера.КнопкаВыбора = Истина;
    Сфера.КнопкаОчистки = Истина;
    
        //Надпись.УстановитьПривязку(ГраницаЭлементаУправления.Лево,Панель,ГраницаЭлементаУправления.Право);
     //Надпись.УстановитьПривязку(ГраницаЭлементаУправления.Право,Панель,ГраницаЭлементаУправления.Право);
КонецПроцедуры
1 Fragster
 
гуру
03.10.16
11:11
Обычные формы - не актуально. Ну и это для инфостарта, а не сюда
2 88g88
 
03.10.16
11:12
это код для добавления элементов на вкладках (страницах)
привязки строк тоже указаны
Особенность в расположении 4х элементах формы с динамической привязкой.

Процедура ДобавляемЭлементыФормы ()
        
    //Выбрали нужную панель и давай её редактировать
    ЭлементыФормы.ПанельФормы.ТекущаяСтраница = ЭлементыФормы.ПанельФормы.Страницы.Дополнительно;
    
    //Добавили надпись Статус
    НадписьСт = ЭлементыФормы.Добавить(Тип("Надпись"),"НадписьСтатус",Истина,ЭлементыФормы.ПанельФормы);
    НадписьСт.Заголовок = "Статус:";
    НадписьСт.Лево = 6;
    НадписьСт.Верх = 106;
    НадписьСт.Высота = 19;
    НадписьСт.Ширина = 84;
    
    //Добавили поле ввода  Статус
    СтатусВвод = ЭлементыФормы.Добавить(тип("ПолеВвода"),"ВыборСтатус",Истина,ЭлементыФормы.ПанельФормы);
    СтатусВвод.Данные = "Статус";
    СтатусВвод.Верх = 106;
    СтатусВвод.Лево = 90;
    СтатусВвод.Высота = 19;
    СтатусВвод.Ширина = 220;
    СтатусВвод.КнопкаВыбора = Истина;
    СтатусВвод.КнопкаОчистки = Истина;
    //Правое поле привяцываем к обее сторонам панели (Центр)
    СтатусВвод.УстановитьПривязку(ГраницаЭлементаУправления.Право,Панель,ГраницаЭлементаУправления.Лево,Панель,ГраницаЭлементаУправления.Право);
    
    //Добавили надпись Тип связи
    НадписьТип = ЭлементыФормы.Добавить(Тип("Надпись"),"НадписьТипСвязи",Истина,ЭлементыФормы.ПанельФормы);
    НадписьТип.Заголовок = "Тип связи:";
    НадписьТип.Лево = 330;
    НадписьТип.Верх = 106;
    НадписьТип.Высота = 19;
    НадписьТип.Ширина = 84;
    // Левое сторону привязываем к праваму полю  СтатусВвод
    НадписьТип.УстановитьПривязку(ГраницаЭлементаУправления.Лево,СтатусВвод,ГраницаЭлементаУправления.Право);
    //Правую сторону привязываес к левой стороне этого же поля(Не меняется длинна и поле движется)
    НадписьТип.УстановитьПривязку(ГраницаЭлементаУправления.Право,НадписьТип,ГраницаЭлементаУправления.Лево);
    
    //Добавили поле Тип связи
    ТипСвязи = ЭлементыФормы.Добавить(тип("ПолеВвода"),"ВыборТипСвязи",Истина,ЭлементыФормы.ПанельФормы);
    ТипСвязи.Данные = "ТипВзаимодействия";
    ТипСвязи.Верх = 106;
    ТипСвязи.Лево = 414;
    ТипСвязи.Высота = 19;
    ТипСвязи.Ширина = 180;
    ТипСвязи.КнопкаВыбора = Истина;
    ТипСвязи.КнопкаОчистки = Истина;
    // лувую сторону привязываем к правой стороне поля НадписьТип
    ТипСвязи.УстановитьПривязку(ГраницаЭлементаУправления.Лево,НадписьТип,ГраницаЭлементаУправления.Право);
    // Правую сторону привязываем к правому полю панели
    ТипСвязи.УстановитьПривязку(ГраницаЭлементаУправления.Право,Панель,ГраницаЭлементаУправления.Право);
    
    //Добавили надпись Результат связи
    НадписьРез = ЭлементыФормы.Добавить(Тип("Надпись"),"НадписьРезультатСвязи",Истина,ЭлементыФормы.ПанельФормы);
    НадписьРез.Заголовок = "Результат связи:";
    НадписьРез.Лево = 6;
    НадписьРез.Верх = 131;
    НадписьРез.Высота = 19;
    НадписьРез.Ширина = 91;
    
    //Добавили поле Результат связи
    РезультатСв = ЭлементыФормы.Добавить(тип("ПолеВвода"),"ВыборРезультатСвязи",Истина,ЭлементыФормы.ПанельФормы);
    РезультатСв.Данные = "РезультатСвязи";
    РезультатСв.Верх = 131;
    РезультатСв.Лево = 98;
    РезультатСв.Высота = 19;
    РезультатСв.Ширина = 496;
    // Правую сторону привязываем к правому полю панели
    РезультатСв.УстановитьПривязку(ГраницаЭлементаУправления.Право,Панель,ГраницаЭлементаУправления.Право);
    
    
    //Побаловались и вернули назад как лежало
    ЭлементыФормы.ПанельФормы.ТекущаяСтраница = ЭлементыФормы.ПанельФормы.Страницы.Общие;
КонецПроцедуры
3 88g88
 
03.10.16
11:13
Долго искал сам. просто для народа. мало ли. сори если не в тему
4 Fragster
 
гуру
03.10.16
11:13
горшочек, не вари!
5 88g88
 
03.10.16
11:15
(4) лучше помоги в теме "
Форма списка, добавление колонок"
с сарказмом у у нас у всех норм. ;)
6 ptiz
 
03.10.16
11:16
(0) Ну похвастался. А вопрос в чем?
7 88g88
 
03.10.16
11:18
(6) Блин да не похвастался а поделился.
тебе не надо и слова богу.
ты не один же ;)
8 mikecool
 
03.10.16
11:42
жесткое указание размеров/координат - незачет
9 ilkoder
 
03.10.16
11:45
Одну кнопку добавить не долго, а если двадцать разных элементов и с привязками?
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн