Имя: Пароль:
1C
1С v8
как вставить полеввода чтоб оно вклинивалось между элементами формы
0 desaint08
 
02.12.16
21:49
вообщем ,к примеру,межлу надписью "ученик" и полеввода "ученик" у которых есть привязки хочу вклинить свое поле ввода "возраст" но как перепривязать элемент ученикк правому краю нового поля вот код:
Процедура ПриОткрытии()
    
НОвоеПоле=ЭлементыФормы.Добавить(Тип("полеВвода"),"ВОЗРАСТ",истина,) ;
НОвоеПоле.типзначения=  новый ОписаниеТипов("Число");
НОвоеПоле.Верх=58;
НОвоеПоле.Лево=54;
НОвоеПоле.ширина=50;
НОвоеПоле.Высота=19;
НОвоеПоле.УстановитьПривязку(ГраницаЭлементаУправления.Лево,ЭлементыФормы.Надписьученик,ГраницаЭлементаУправления.Право,ЭлементыФормы.Надписьученик,ГраницаЭлементаУправления.Право);
ЭлементыФормы.ученик.УстановитьПривязку(ГраницаЭлементаУправления.Лево,НОвоеПоле,ГраницаЭлементаУправления.Право);
КонецПроцедуры
но поле добавляется в начало поля "ученик" а поле ученик к нему не привязывается. вот конфигурация
https://drive.google.com/open?id=0B1tm7TbN4Ml9eVY3a1piY2Uzd1U
помогите криворукому разобраться что не так делаю,я справку читал но как то не работает(
1 desaint08
 
02.12.16
21:50
документ "робник"
2 Fragster
 
гуру
02.12.16
21:57
переходи на управляемые формы, там это делается намного проще
3 desaint08
 
02.12.16
22:01
(2) в том то и дело что реализовать нужно как бы на обычных
4 Lexey_
 
02.12.16
22:11
(3) зачем тебе в управляемом приложении обычные формы?
5 desaint08
 
02.12.16
23:00
(4) это так как бы для примера,меня попросили вот так сделать
,
6 desaint08
 
03.12.16
12:30
я уже по всякому пробовал,но не выходит!!кто то может подсказать?
7 Lexey_
 
03.12.16
12:40
(6) у тебя открывается упр форма, генерируемая платформой, а не та, которую ты нарисовал, тебе надо включить использование обычных форм в упр приложении
8 Рэйв
 
03.12.16
12:44
(O)У меня стойкое ощущение, что ты сам не знаешь чего хочешь..
9 desaint08
 
03.12.16
13:00
(8) я понимаю, (7) открывается обычная,не управляемая ,я в настройках запуска поставил обычное приложение толстый клиент
10 Lexey_
 
03.12.16
13:04
(9) ученика смещай вправо вручную
11 desaint08
 
03.12.16
13:09
(10) а как не вручную? чтоб ученик привязался к новому полю?к правой границе?
12 Lexey_
 
03.12.16
13:11
(11) "вручную", я имел ввиду программно, не ожидая, что установив ты привязку, он сам сдвинется
13 desaint08
 
03.12.16
13:15
(12) это как так?
14 desaint08
 
03.12.16
13:17
цифры к положению нельзя плюсовать ,ругается
15 Lexey_
 
03.12.16
13:18
(14) можно
16 lucbak
 
03.12.16
13:22
(0) Вместо кода привязок т.е. вместо

    НовоеПоле.УстановитьПривязку(ГраницаЭлементаУправления.Лево, ЭлементыФормы.Надписьученик, ГраницаЭлементаУправления.Право, ЭлементыФормы.Надписьученик, ГраницаЭлементаУправления.Право);
    ЭлементыФормы.ученик.УстановитьПривязку(ГраницаЭлементаУправления.Лево,НовоеПоле,ГраницаЭлементаУправления.Право);

напиши вот это:
    ЭлементыФормы.ученик.Ширина=ЭлементыФормы.ученик.Ширина-50;
    ЭлементыФормы.ученик.Лево=ЭлементыФормы.ВОЗРАСТ.Лево+50;
17 lucbak
 
03.12.16
13:23
Привязки у тебя и так работают (зачем их еще раз программно устанавливать не понятно)
18 desaint08
 
03.12.16
13:25
(17) ща попробую
19 lucbak
 
03.12.16
13:27
Процедура ПриОткрытии()
    НовоеПоле=ЭлементыФормы.Добавить(Тип("ПолеВвода"), "Возвраст", Истина);
    НовоеПоле.ТипЗначения=Новый ОписаниеТипов("Число");

    НовоеПоле.Верх=ЭлементыФормы.Надписьученик.Верх;
    НовоеПоле.Лево=ЭлементыФормы.Надписьученик.Лево+42;
    НовоеПоле.Ширина=50;
    НовоеПоле.Высота=ЭлементыФормы.Дата.Высота;

    ЭлементыФормы.ученик.Ширина=ЭлементыФормы.ученик.Ширина-52;
    ЭлементыФормы.ученик.Лево=ЭлементыФормы.Возвраст.Лево+52;
КонецПроцедуры
20 desaint08
 
03.12.16
13:31
сработало.спасибо,те есть я могу новому полю задать параметры любого поля на форме? напрмер высоту как у поля"дата" а ширину как у поля "ученик"?
21 lucbak
 
03.12.16
13:31
(20) Да
22 lucbak
 
03.12.16
13:34
Только порядок очень важен т.е. сначала меняем ширину поля и только пото его сдвигаем - если сначала попытаемся сдвинуть то ничего не получится (надеюсь объяснять "почему" - не надо)
23 desaint08
 
03.12.16
15:21
(22) спасибо огрномное,почему об этом нигде не пишут?!
24 Lexey_
 
03.12.16
15:23
(23) это очевидно
25 desaint08
 
03.12.16
22:44
(24) для такого олуха как я ,нет)