Имя: Пароль:
1C
 
Обычные формы: привязка vs свертка
0 Zhuravlik
 
22.07.15
18:50
Добрый день. Подозреваю, что вопрос не нов, однако не могу нагуглить нормального примера. Сам что-то не допру никак. По любому кто-то сталкивался: на форме три элемента управления
- ТП1 (табличное поле)
- Р1 (разделитель горизонтальный)
- ТП2 (табличное поле)

На командной панели формы кнопка, с типом "Пометка". Если пометка включена - надо показать р1 и тп2, иначе - скрыть.
Привязки ЭУ настроены "паровозом" по-вертикали:
форма верх - тп1 верх
тп1 низ - р1 верх

р1 верх - форма центр
р1 низ - форма центр

тп2 верх-р1 низ
тп2 низ - форма низ

для того чтобы управлять видимостью ЭУ пытаюсь использовать свойство "Свертка", выставляя оное в "Низ" / "Нет" - от пометки кнопки.
Не работает.
Что не так - не пойму, прошу помощи примером...
1 Garykom
 
гуру
22.07.15
21:23
"видимость" юзать вместо "свертки"
2 Zhuravlik
 
22.07.15
23:31
(1) Это первое, что пробовал. Скажу больше: до этого и не знал, что есть "Свертка"))
-
ЭУ исчезает, а привязка не срабатывает. Видимость на УФ работает, с обычными нужно возиться.
3 Garykom
 
гуру
23.07.15
11:50
(2) а сделать 2 (две) ТП1 не догадался?
с разными привязками и по очереди их видимость...
т.е. если "пометка включена" то показывам ТП1,Р1,ТП2
иначе их все скрываем и показываем ТП3 (=ТП1 по содержимому) с привязкой ТП3 низ - форма низ
4 mistеr
 
23.07.15
12:28
(0) Вот так у меня работает:


Перем мВысотаПанелиНастроек;

Процедура ДействияФормыПанельНастроек(Кнопка)
    
    ВидимостьПанели = НЕ Кнопка.Пометка;
    
    Если ВидимостьПанели Тогда
        ЭлементыФормы.ПанельНастроек.Свертка = РежимСверткиЭлементаУправления.Нет;
        ЭлементыФормы.Разделитель.Верх = ЭлементыФормы.ПанельНастроек.Верх + мВысотаПанелиНастроек;
    Иначе
        мВысотаПанелиНастроек = ЭлементыФормы.ПанельНастроек.Высота;
        ЭлементыФормы.ПанельНастроек.Свертка = РежимСверткиЭлементаУправления.Верх;
        ЭлементыФормы.Разделитель.Верх = ЭлементыФормы.ПанельНастроек.Верх;
    КонецЕсли;
    ЭлементыФормы.Разделитель.Видимость = ВидимостьПанели;
    
    Кнопка.Пометка = ВидимостьПанели;
    
КонецПроцедуры

мВысотаПанелиНастроек = ЭлементыФормы.ПанельНастроек.Высота;


P.S. Поначалу тоже долго возился.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн