Смена видимости элемента управляемой формы без вызова сервера (1С версии 8.3.7)

1. serge_focus 4 20.01.16 16:02 Сейчас в теме
В 1с версии 8.3.7 появился новый механизм размещения элементов в форме.
Суть которого - на сервере создается некий «полуфабрикат» визуального представления формы, который передаётся на клиента.
На клиенте производится необходимая доработка описания визуальной формы. Рассчитываются длины строк, рассчитываются элементы адаптивности, связанные с размерами клиентского дисплея, и отрабатывается видимость. После этого, как и раньше, начинает работать визуализатор, который и создаёт окончательную форму, которую видит клиент.
Может подскажете как решить в 1с 8.3.7 тривиальную задачу: на форме есть флажок , справа от него поле. Если флажок установлен, поле видно. Снят - поле не видно.
И все это без вызова сервера...
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dj_serega 392 20.01.16 16:18 Сейчас в теме
А в какой момент вызывается сервер?
3. Vovus 3 20.01.16 17:05 Сейчас в теме
А просто при изменении значения галочки установить видимость!?
4. serge_focus 4 20.01.16 21:24 Сейчас в теме
Все разобрался, притупил немного.
Просто ничего вызывать не надо.
Все на коиенте работает
&НаКлиенте
Процедура ВидимостьСтрокиПриИзменении(Элемент)
Если ЭтаФорма.Объект.ВидимостьСтроки Тогда
	Элементы.Строка.Видимость = Истина;
Иначе 
	Элементы.Строка.Видимость = Ложь;	
КонецЕсли; 
КонецПроцедуры
5. user932405 11.03.18 17:48 Сейчас в теме
Видимость будет работать, только после повторного нажатия на созданный реквизит (булево) . А как всё таки задать проверку до открытия документа? Что бы если флаг уже стоит, то отображать элементы при открытии формы. При этом условие первоначального отображения или нет, можно задать через свойства поля реквизита.
10. Tailbone 20.07.22 10:50 Сейчас в теме
(5)
Видимость будет работать, только после повторного нажатия на созданный реквизит (булево) . А как всё таки задать проверку до открытия документа? Что бы если флаг уже стоит, то отображать элементы при открытии формы. При этом условие первоначального отображения или нет, можно задать через свойства поля реквизита.


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// Установка первоначального значения
	РеквизитФормыБулево = Истина;
	Объект.РеквизитОбъектаБулево = Ложь;
	
	// Вызов на сервере при создании формы
	УправлениеВидимостью(ЭтаФорма);
	
КонецПроцедуры

&НаКлиенте
Процедура РеквизитФормыБулевоПриИзменении(Элемент)
	
	// Вызов на клиенте без вызова сервера
	УправлениеВидимостью(ЭтаФорма);
	
КонецПроцедуры

&НаКлиенте
Процедура РеквизитОбъектаБулевоПриИзменении(Элемент)
	
	// Вызов на клиенте без вызова сервера
	УправлениеВидимостью(ЭтаФорма);
	
КонецПроцедуры

&НаКлиентеНаСервереБезКонтекста
Процедура УправлениеВидимостью(Форма)
	
	Форма.Элементы.УправляемыйЭлементФормы.Видимость = Форма.РеквизитФормыБулево;
	
	Форма.Элементы.РеквизитФормыБулево.Видимость = Форма.Объект.РеквизитОбъектаБулево;
	
КонецПроцедуры
Показать
6. user970589 11 19.07.19 12:08 Сейчас в теме
Есть также в настройках групп на форме галочка "видимость" и "пользовательская видимость".
Кто-нибудь настраивал частичную для пользователей видимость по элементам формы таким образом?
7. Hexed 2 05.10.21 09:27 Сейчас в теме
(4)
Все разобрался, притупил немного.
Просто ничего вызывать не надо.
Все на клиенте р

Я тут мимо проходил. Можно решить вообще без кода через настройку условного оформления формы
8. Риник 13 30.05.22 11:35 Сейчас в теме
(7) Настройка Условного оформления формы через палитру только для ТЧ работает, а для элементов шапки нет. А судя по посту, у ТС как раз таки вопрос с реквизитом формы
9. user1206119 81 31.05.22 03:44 Сейчас в теме
Для изменения видимости что для 1С 8.2 и тем более 8.3 не нужен вызов сервера:
Для Управляемых форм:
Элементы.Строка.Видимость =не Элементы.Строка.Видимость;

Для Обычных форм:
ЭлементыФормы.Строка.Видимость =не ЭлементыФормы.Строка.Видимость;
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот