Пример очень сложной установки привязок ПРОГРАММНО элементам формы, для их скрытия/ отображения. Скрытие элементов на форме. Программная свертка элементов на форме

13.05.19

Разработка - Работа с интерфейсом

Програмная установка привязок элементам формы для скрытия, свертка элементов формы, скрытие элементов формы програмно. Показиваю на примере в обработке как работать с привязками и сверткой элементов формы. Программная установка видимости.

Скачать исходный код

Наименование Файл Версия Размер
Пример очень сложной установки привязок ПРОГРАММНО элементам формы, для их скрытия/ отображения. Схлопывание элементов на форме
.epf 10,83Kb
64
.epf 10,83Kb 64 Скачать

Нужно было программно установить видимость таблице посредине формы, долго мучался, пока разобрался с этим механизмом.

Решение, понятно, для обычных форм) в управляемых за нас делают разрабы)

Нашел типовое решение через изменение высоты элементов. Но, как я и думал, можно проще, только привязками и сверткой!!!
 

// необходимо развернуть панель
			
// текущая высота основной панели
НачальнаяВысотаОсновнойПанели = ВерхняяПанель.Высота;
			
// на основную панель отдаем половину высоты
ВерхняяПанель.Высота = Окр(НачальнаяВысотаОсновнойПанели * 0.6 ,0);
			
// развернем разделитель, устатановим его внизу основной панели, настроим привязки
Разделитель.Свертка = РежимСверткиЭлементаУправления.Нет;
Разделитель.Верх = ВерхняяПанель.Верх + ВерхняяПанель.Высота;
Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Панель, ГраницаЭлементаУправления.Верх, Панель, ГраницаЭлементаУправления.Низ);
Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Верх, Разделитель, ГраницаЭлементаУправления.Низ);
			
// развернем нижнюю панель,установим ее к разделителю, настроим привязки
НижняяПанель.Свертка = РежимСверткиЭлементаУправления.Нет;
НижняяПанель.Верх = Разделитель.Верх + 6;
НижняяПанель.Высота = НачальнаяВысотаОсновнойПанели - ВерхняяПанель.Высота - 6;
НижняяПанель.УстановитьПривязку(ГраницаЭлементаУправления.Верх, Разделитель, ГраницаЭлементаУправления.Верх);
НижняяПанель.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Панель, ГраницаЭлементаУправления.Низ);

И нашел рабочий алгоритм действий. Обработка с открытым кодом, можете посмотреть реализацию и использовать для своих творческих нужд.
Так как сам на данную публикацию потратил день для создания примера, не считаю ее дорогой! Ваше время ценнее. Надеюсь, кому-то пригодится для примера работы с программным изменением видимости на форме!

Тестировал на 8.2.19.

Свертка Отображение форме обычные формы привязка элементов схлопывание разделитель программная программное скрытие настройка привязки изменение видимости

См. также

Управление дашбордами

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    17226    23    4    

37

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    11723    776    elcoan    47    

108

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    10237    157    acces969    31    

120

Модель состояния для MVC

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    4227    kalyaka    4    

31

Условное оформление элементов форм в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

Подсистема условного оформления элементов форм (далее подсистема) предназначена для настройки оформления элементов форм (видимость, доступность, цвет фона, цвет текста и прочее) в пользовательском режиме 1С. Также подсистему возможно использовать для ограничения доступа к реквизитам формы для определенных пользователей (или групп пользователей).

6000 руб.

18.01.2022    9120    1    2    

6

Программный интерфейс для доработки форм

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Реализовал простой способ программного создания новых элементов, команд и реквизитов на форме.

25.11.2021    10050    AtamanovYS    19    

142
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. VmvLer 13.05.19 17:20 Сейчас в теме
Программная свертка элементов на форме

такой заголовок был бы информативным и логичным, а эта портянка с деталями бла бла бла к чему?
да и первой строкой неплохо бы указать сразу платформу и формы
8.2 - ОФ, а то мне лень телепатировать, что функционал безнадежно устарел.

К тому же цена в 5 стартмани как бы намекает, что автор толкает этот антиквариат в расчете на Буратино.

у меня пост-праздничный синдром и все кажется кривым, корявым и недосказанным, простите.
gtrr34; neo-ti; BigB; wowik; +4 Ответить
2. oleg-x 27 13.05.19 17:33 Сейчас в теме
(0) молодец, но 5 стартмани...
Вообщем здесь многие выкладывают свои детища куда более сложные и всего за 1 монетку (кто то и бесплатно выкладывал бы, но платформа не позволяет), хотя если написать автору и очень хорошо попросить, можно получить бесплатно. Это я к чему, можно и 10 монет запросить, а можно поделиться знаниями и получить отзывы :-)
wowik; manlak; +2 Ответить
4. _1c_coder 52 13.05.19 17:41 Сейчас в теме
(2)
молодец

спасибо, буду стараться и дальше. цену изменю. может и так благодарны пользователи найдутся как вы и говорите
13. starik-2005 3046 19.05.19 12:34 Сейчас в теме
(2)
молодец, но 5 стартмани...
Спрос рождает предложение. За 5 см обработку скачают 1 раз, за 2 см - пять раз, за 1 см - сто раз. Автор этого не понимает (к счастью для нас).

ЗЫ: вот у меня есть обработка из одной строки кода. И ее уже 21 раз скачали за 1 см. Предположу, что за 2 см ее бы не скачали ни разу )))
ЗЫЗЫ: а в комментах есть ответ, почему ее качают.
15. _1c_coder 52 20.05.19 00:12 Сейчас в теме
(13) ок попробуем) акция 1 см)
3. _1c_coder 52 13.05.19 17:38 Сейчас в теме
такой заголовок был бы информативным и логичным, а эта портянка с деталями бла бла бла к чему?
да и первой строкой неплохо бы указать сразу платформу и формы
8.2 - ОФ, а то мне лень телепатировать, что функционал безнадежно устарел.

К тому же цена в 5 стартмани как бы намекает, что автор толкает этот антиквариат в расчете на Буратино.

у меня пост-праздничный синдром и все кажется кривым, корявым и недосказанным, простите.

ну я обработку выложил для тех кто ищет.
опытным ясно, что в управляемых, привязки не надо настраивать) это делает платформа.
а цена 5 может и действительно великовата, но полдня для того чтобы осилить, и пол для написания.
автор пока бедный новичок здесь, того и такую цену поставил.
7. catena 110 14.05.19 08:17 Сейчас в теме
(3)
а цена 5 может и действительно великовата, но полдня для того чтобы осилить, и пол для написания.
Смешно)) Интересно, сколько дней было потрачено на стратер, который предлагается в соседней теме))
10. _1c_coder 52 14.05.19 09:14 Сейчас в теме
(7) сядь сделай, размести и напиши сколько ты потратишь)
11. catena 110 14.05.19 10:40 Сейчас в теме
(10)Эээ, я немного о другом. О сравнении трудозатрат и стоимости.
20. VAAngelov 369 05.05.21 11:43 Сейчас в теме
(3) Видишь, коллеги правильно тебе сказали. 1 СМ и все пойдет , как по маслу. Не гонись за ценой, бери качеством продукта. Спасибо за обработку, кстати.
_1c_coder; +1 Ответить
5. t278 57 14.05.19 02:32 Сейчас в теме
Я только сейчас это узнал !!!
В некоторых случаях, пригодился бы.
9. _1c_coder 52 14.05.19 09:13 Сейчас в теме
(5) так, век живи век учись
6. rpgshnik 3714 14.05.19 08:08 Сейчас в теме
Хорошо что уже "обычные формы" уходят в прошлое, но статья 👍
_1c_coder; +1 Ответить
8. _1c_coder 52 14.05.19 09:12 Сейчас в теме
(6) так вы правы. но многие конфигурации на обычных формах. и это как 7ка уже не поддерживается, но пользователей еще хватает!!
Спасибо!
rpgshnik; +1 Ответить
12. 1segen1 33 15.05.19 11:35 Сейчас в теме
Что это за типовая конфигурация, в которой подобные вещи делают через изменение размеров элементов? В типовых видел только с использование сверки и установки привязок.
14. _1c_coder 52 20.05.19 00:08 Сейчас в теме
(12) типовые для Украины УПП УТП
16. Xoza1n 20.05.19 09:04 Сейчас в теме
Сейчас с похожим вожусь, но там сразу несколько элементов нужно сворачивать, а они привязанны друг к другу

Левый эл1
Левый эл2

Эл свертки 1
Эл свертки 2
Эл свертки 3
Эл свертки 4
Эл свертки 5

Тч1

И сворачивает любые элементы хорошо, но вот когда разворачивает, тч1 которая привязана к нижней границе Эл свертки 5, через раз остаётся на месте, а элементы все на неё лезут ), не сталкивались с таким?

P.S. Даже если закрыть и открыть форму ей всё так же плохо) только перезапуск помогает)
17. _1c_coder 52 22.05.19 11:15 Сейчас в теме
(16) а мой пример не включает вашу ситуацию?
там главное понять логику работы и вам откроются тайны)
алгоритм прост, сначала перепривязываем те елементы которые будут принимать участие в свертке, потом сворачиваем.
когда включаем видимовсть вновь привязываем разворачиваем привязываем
18. Xoza1n 27.05.19 13:29 Сейчас в теме
(17) с 1-2 эл проблем и у меня не было, а когда их сразу дофига, там какие то проблемы были. в итоге забил на всё и после сверток перемещал 1 эл программно, а остальное к нему привязывал )
19. _1c_coder 52 28.05.19 10:59 Сейчас в теме
(18) думаю проблема в порядке была
21. RustIG 1644 23.11.22 18:58 Сейчас в теме
Я реализовал просто - вывел кнопку на форму "Свернуть", ПанельНастроек находится сверху формы, ПанельРезультата под панелью Настроек, между панелями горизонтальный разделитель, в модуле формы написал так:
Перем Верх2, Высота2, ПанельСвернута;

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

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

КонецПроцедуры

ПанельСвернута = Ложь; //по умолчанию
Показать
22. user1206119 86 07.01.23 13:37 Сейчас в теме
Автору огромное спасибо за обработку. Очень пригодился алгоритм.
Оставьте свое сообщение