Здравствуйте.
Нужно при выводе некого отчета из формы обработки проверить видимость колонок табличной части, и в зависимости от этого выполнить различные данные.
Проверяю видимость колонки на клиенте таким образом
Для Каждого Элемент Из Элементы.Основная.ПодчиненныеЭлементы Цикл
Если Не Элемент.Видимость Тогда
Продолжить;
КонецЕсли; ....
Основная - это собственно табличная часть обработки.
Но почему-то колонки, видимость которых пользователем скрыта на форме все равно при переборе элементов имеют значение атрибута видимости как Истина.
Одна из колонок только правильно видимость показывает что скрыта - та, видимость которой программно скинута в процедуре ПриСозданииНаСервере.. А как остальные то правильно проверить на видимость?
Платформа 8.3.19.1417
(1) Насколько мне известно, программного доступа к значениям пользовательской видимости элементов формы платформа не предоставляет.
Если ничего не изменилось за последнее время, это древняя "проблема". Вот например тема с мисты - https://forum.mista.ru/topic.php?id=664216.
Конкретно пост от Kookish:
В результате гугления, экспериментов и размышления вяснилось следующее:
Видимость и пользовательская видимость - различные вещи. Если изменить значение видимости на "Ложь" программно, элемент не будет виден и нельзя будет управлять его видимостью через "Все действия". Через "Все действия" пользователь управляет пользовательской видимостью элемента, программного доступа к которой попросту нет. Ибо нефиг. Типа, менять поведение формы в зависимости от пользовательской видимости элементов методически неправильно.
Кроме того, в паре мест встретил высказывания типа "Не трогайте программно видимость элементов, это приводит к полной перерисовке формы на сервере и росту трафика".
Без комментариев.
(7)Спасибо из информацию. Очень интересно получается если это так.. Может в этом и есть конечно какой-то смысл, но довольно спорное поведение, больше на глюк похожее.
... по данному разработчики 1С отвечают, что пользовательская видимость может быть изменена только пользователем. Программного изменения быть не может.
(9)Что изменить пользовательскую видимость (раз разделены понятия видимости и пользовательской видимости) может только пользователь это хорошо, но тогда-бы сделали отдельный реквизит (пусть с доступом только на чтение), чтобы можно было прочитать его состояние, а его нет и это проблема.
я уже думал может что связано с передачей между контекстами сервера и клиента может, но при получении видимости на клиенте и сервера одинаково отрабатывает, т.е. не получается отловить колонки которые скрыты.