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

13.05.19

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Пример очень сложной установки привязок ПРОГРАММНО элементам формы, для их скрытия/ отображения. Схлопывание элементов на форме
.epf 10,83Kb
68
68 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

См. также

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

Богатый редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    62984    44    59    

82

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

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

2400 руб.

29.06.2020    18851    26    6    

41

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

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

1500 руб.

06.10.2020    10224    7    7    

10

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

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

20.08.2024    16787    mrXoxot    43    

121

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

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    7342    smielka    37    

100

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

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

27.12.2023    14784    913    elcoan    47    

117

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

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

2 стартмани

10.04.2023    11909    162    acces969    31    

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

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

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

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

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

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

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

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

ну я обработку выложил для тех кто ищет.
опытным ясно, что в управляемых, привязки не надо настраивать) это делает платформа.
а цена 5 может и действительно великовата, но полдня для того чтобы осилить, и пол для написания.
автор пока бедный новичок здесь, того и такую цену поставил.
7. catena 110 14.05.19 08:17 Сейчас в теме
(3)
а цена 5 может и действительно великовата, но полдня для того чтобы осилить, и пол для написания.
Смешно)) Интересно, сколько дней было потрачено на стратер, который предлагается в соседней теме))
10. _1c_coder 53 14.05.19 09:14 Сейчас в теме
(7) сядь сделай, размести и напиши сколько ты потратишь)
11. catena 110 14.05.19 10:40 Сейчас в теме
(10)Эээ, я немного о другом. О сравнении трудозатрат и стоимости.
20. VAAngelov 441 05.05.21 11:43 Сейчас в теме
(3) Видишь, коллеги правильно тебе сказали. 1 СМ и все пойдет , как по маслу. Не гонись за ценой, бери качеством продукта. Спасибо за обработку, кстати.
_1c_coder; +1 Ответить
5. t278 58 14.05.19 02:32 Сейчас в теме
Я только сейчас это узнал !!!
В некоторых случаях, пригодился бы.
9. _1c_coder 53 14.05.19 09:13 Сейчас в теме
(5) так, век живи век учись
6. rpgshnik 3795 14.05.19 08:08 Сейчас в теме
Хорошо что уже "обычные формы" уходят в прошлое, но статья 👍
_1c_coder; +1 Ответить
8. _1c_coder 53 14.05.19 09:12 Сейчас в теме
(6) так вы правы. но многие конфигурации на обычных формах. и это как 7ка уже не поддерживается, но пользователей еще хватает!!
Спасибо!
rpgshnik; +1 Ответить
12. 1segen1 33 15.05.19 11:35 Сейчас в теме
Что это за типовая конфигурация, в которой подобные вещи делают через изменение размеров элементов? В типовых видел только с использование сверки и установки привязок.
14. _1c_coder 53 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 53 22.05.19 11:15 Сейчас в теме
(16) а мой пример не включает вашу ситуацию?
там главное понять логику работы и вам откроются тайны)
алгоритм прост, сначала перепривязываем те елементы которые будут принимать участие в свертке, потом сворачиваем.
когда включаем видимовсть вновь привязываем разворачиваем привязываем
18. Xoza1n 27.05.19 13:29 Сейчас в теме
(17) с 1-2 эл проблем и у меня не было, а когда их сразу дофига, там какие то проблемы были. в итоге забил на всё и после сверток перемещал 1 эл программно, а остальное к нему привязывал )
19. _1c_coder 53 28.05.19 10:59 Сейчас в теме
(18) думаю проблема в порядке была
21. RustIG 1747 23.11.22 18:58 Сейчас в теме
Я реализовал просто - вывел кнопку на форму "Свернуть", ПанельНастроек находится сверху формы, ПанельРезультата под панелью Настроек, между панелями горизонтальный разделитель, в модуле формы написал так:
Перем Верх2, Высота2, ПанельСвернута;

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

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

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

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