Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

ОФ. Программно растянуть форму вниз.

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

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

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

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

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

СдвигВысота = 50;
Разделитель = ЭлементыФормы.Разделитель1;
Разделитель.Верх = Разделитель.Верх - СдвигВысота;
ТабличноеПолеДог = ЭлементыФормы.Договоры;
ТабличноеПолеДог.Высота = ТабличноеПолеДог.Высота - СдвигВысота;

   Ёпрст
 
8 - 31.01.20 - 10:34
(7) на вот, занимайся
https://cloud.mail.ru/public/3at8/27FKZqFot

ЗЫ: там надо еще раз высоту контролов задавать, ибо при добавлении и привязки она "растягивается" и размер меняется.
В общем, играйся

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.