Имя: Пароль:
1C
1С v8
ОФ. Программно растянуть форму вниз.
0 withoutname
 
29.01.20
17:34
Имеется форма Контрагента в УПП. Необходимо на вкладку Счета и договоры внизу добавить еще одно табличное поле (ТП).
Собственно в процедуре ПриОткрытии указываю
ЭтаФорма.Высота = ЭтаФорма.Высота + 100;
Добавляю свое ТП, но такое состояние как будто форма не растягивается, т.к. ТП залазиет на таблицу выше...
Привязки все снимаю у таблиц Банковские счета, Договоры контрагентов (+ее ком панель), разделитель...

Интерактивно снял галку в свойствах формы "Исп. только видимую область"

Как правильно растянуть форму?

<IMG SRC="http://i.prntscr.com/cQ6E2-dyThid7LA6rKj8eg.png">;
</IMG>
1 withoutname
 
29.01.20
17:34
2 Ёпрст
 
29.01.20
17:43
воткнуть разделитель
3 Ёпрст
 
29.01.20
17:44
к нему привязаться и оно само  растянется
4 withoutname
 
29.01.20
17:54
(2) после таблицы Договоры контрагентов? И сам разделитель соответственно привязать к ней?
5 withoutname
 
30.01.20
10:35
(3) что-то не получается...
http://i.prntscr.com/1KlRMFLPQImkFYX5CBxngQ.gif


// отключаем привязки у верхних элементов
    ТабличноеПоле = ЭлементыФормы.БанковскиеСчета;
    ТабличноеПоле.УстановитьПривязку(ГраницаЭлементаУправления.Низ);
    
    Разделитель = ЭлементыФормы.Разделитель1;
    Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Верх);
    Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Низ);
    
    РамкаГруппы = ЭлементыФормы.РамкаГруппыДоговоры;
    РамкаГруппы.УстановитьПривязку(ГраницаЭлементаУправления.Верх);
    РамкаГруппы.УстановитьПривязку(ГраницаЭлементаУправления.Низ);
    
    КоманднаяПанель = ЭлементыФормы.КоманднаяПанельДоговоры;
    КоманднаяПанель.УстановитьПривязку(ГраницаЭлементаУправления.Верх);
    КоманднаяПанель.УстановитьПривязку(ГраницаЭлементаУправления.Низ);
    
    ТабличноеПолеДог = ЭлементыФормы.Договоры;
    //ТабличноеПолеДог.УстановитьПривязку(ГраницаЭлементаУправления.Верх);
    //ТабличноеПолеДог.УстановитьПривязку(ГраницаЭлементаУправления.Низ);
    
    ЭтаФорма.Высота = ЭтаФорма.Высота + 100;
    
    ЭлементыФормы.Панель.ТекущаяСтраница = ЭлементыФормы.Панель.Страницы.СчетаИДоговоры;
    
    Разделитель = ЭлементыФормы.Добавить(Тип("Разделитель"), "РазделительДПФ",, ЭлементыФормы.Панель);
    Разделитель.Верх = ТабличноеПолеДог.Верх + ТабличноеПолеДог.Высота + 10;
    Разделитель.Высота = 6;
    Разделитель.Ширина = 577;
    Разделитель.Лево = 6;
    Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Верх, ЭлементыФормы.Договоры, ГраницаЭлементаУправления.Низ);
    Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Низ, ЭтаФорма.Панель, ГраницаЭлементаУправления.Верх, ЭлементыФормы.Договоры, ГраницаЭлементаУправления.Верх);
    Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Право, ЭтаФорма.Панель, ГраницаЭлементаУправления.Право);
    //ЭлементыФормы.Панель.Высота = ЭлементыФормы.Панель.Высота + 100;
    //ЭлФормы = ЭлементыФормы.НадписьКомментарий;
    //ЭлФормы.УстановитьПривязку(ГраницаЭлементаУправления.Верх);
    //ЭлФормы.УстановитьПривязку(ГраницаЭлементаУправления.Низ);
    //ЭлФормы.Верх = ЭлФормы.Верх + 300;
    //ЭлФормы = ЭлементыФормы.КомментарийСтрокой;
    //ЭлФормы.УстановитьПривязку(ГраницаЭлементаУправления.Верх);
    //ЭлФормы.УстановитьПривязку(ГраницаЭлементаУправления.Низ);
    //ЭлФормы.Верх = ЭлФормы.Верх + 300;
    
    ТабличноеПолеДог.УстановитьПривязку(ГраницаЭлементаУправления.Верх);
    ТабличноеПолеДог.УстановитьПривязку(ГраницаЭлементаУправления.Низ, ЭлементыФормы.РазделительДПФ, ГраницаЭлементаУправления.Верх);
    
    ТабличноеПоле = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"ДоговораПФ",Истина,ЭлементыФормы.Панель);
    //
    //ТабличноеПоле.УстановитьДействие("ПередНачаломДобавления",Новый Действие("СобытияПередНачаломДобавления"));
    //ТабличноеПоле.УстановитьДействие("ПриВыводеСтроки",Новый Действие("СобытияПриВыводеСтроки"));
    //
    ТабличноеПоле.Данные = "ДоговораПФ";
    ТабличноеПоле.Верх = ТабличноеПолеДог.Верх + ТабличноеПолеДог.Высота + 20;
    //ТабличноеПоле.Высота = 350;
    ТабличноеПоле.Ширина = 577;
    ТабличноеПоле.Лево = 6;
    
    ТабличноеПоле.УстановитьПривязку(ГраницаЭлементаУправления.Верх,ЭлементыФормы.РазделительДПФ,ГраницаЭлементаУправления.Низ);
    ТабличноеПоле.УстановитьПривязку(ГраницаЭлементаУправления.Низ,ЭтаФорма.Панель,ГраницаЭлементаУправления.Низ);
6 Ёпрст
 
30.01.20
12:56
(5) можно и без разделителя..
вот это воткни в код

Разделитель.Свертка = РежимСверткиЭлементаУправления.Нет;
    ЭлементыФормы.Панель.Свертка = РежимСверткиЭлементаУправления.Нет;
7 withoutname
 
30.01.20
14:47
хотел пойти с другой стороны, подвинуть поля к верху...
если просто изменяю верх у разделителя, все красиво автоматом сдвигается
но когда я меняю высоту таблицы Договоры, все корежится...


СдвигВысота = 50;
Разделитель = ЭлементыФормы.Разделитель1;
Разделитель.Верх = Разделитель.Верх - СдвигВысота;
ТабличноеПолеДог = ЭлементыФормы.Договоры;
ТабличноеПолеДог.Высота = ТабличноеПолеДог.Высота - СдвигВысота;
8 Ёпрст
 
31.01.20
10:34
(7) на вот, занимайся
https://cloud.mail.ru/public/3at8/27FKZqFot

ЗЫ: там надо еще раз высоту контролов задавать, ибо при добавлении и привязки она "растягивается" и размер меняется.
В общем, играйся
9 withoutname
 
03.04.20
15:13
(8) Опять актуально ) в этом примере форма уже открыта, а надо чтобы ПриОткрытии растягивалась форма
10 Mraque
 
03.04.20
15:42
Могу рассказать как это сделано у нас на примере документа "Поступление товаров и услуг":
1) В свойствах формы документа необходимо снять галки "Использовать выравнивающие линии" и "Исп. только видимую область"
2) Далее код, у нас он находится в процедуре общего модуля, в которой рисуются все дополнительные реквизиты программно

Увеличиваем высоту формы и положение нижней панели с кнопками:
ФормаОбъекта.Высота = ФормаОбъекта.Высота + 25;
ЭлементыФормы.ОсновныеДействияФормы.Верх = ЭлементыФормы.ОсновныеДействияФормы.Верх + 25;

При необходимости сдвигаем элементы вниз:

ЭлементыФормы.НадписьКомментарий.Верх = ЭлементыФормы.НадписьКомментарий.Верх + 25;
ЭлементыФормы.Комментарий.Верх = ЭлементыФормы.Комментарий.Верх + 25;

Далее программно добавляем свой элемент на нужную позицию и программно устанавливаем для него привязки.
11 withoutname
 
03.04.20
16:04
(10) свойства формы снимаются вручную?
12 withoutname
 
06.04.20
16:35
Народ, ну подскажите ...
13 withoutname
 
06.04.20
16:47
(10) Я когда добавляю высоту формы, у меня верхние элементы не также спускаются...
14 withoutname
 
06.04.20
16:59
(13) Ну вроде получается. Сначала добавляю высоты формы, потом нижние элементы сдвигаю вверх, благо их пока не много ...

Всем Спасибо )))
AdBlock убивает бесплатный контент. 1Сергей