Имя: Пароль:
1C
 
Как узнать на какой странице панели находится элемент формы
0 pasha59
 
01.12.06
12:55
Ситуация следующая: про обработке видимости элементов на форме хочу сделать так, чтобы обрабатывались только элементы открытой страницы панели. Специфика задачи такова, что элементов на форме сотни и обработка их видимости тоже достаточно сложна. Поэтому обрабатывать все каждый раз долго.
Отсюда вывод определить элементы формы только на текущей панели и их обрабатывать.
Но ни у элемента формы, ни у страницы панели нет ни реквизитов ни методов позволяющих определить на какой страницы какой панели они находятся.
Подскажите, как решить такую траблу? ничего найти не могу.
1 Defender aka LINN
 
01.12.06
13:00
(0) Определить принадлежность странице или панели ника нельзя
2 MaxS
 
01.12.06
13:07
Если никак нельзя, то именам элементов формы добавить префикс.
Например было Поле1, сделать Страница1Поле1

ПрефиксПоля = "Страница1";
Для Каждого Строка Из ЭлементыФормы Цикл
Если Найти(Строка.Имя,ПрефиксПоля)<>1 Тогда
Продолжить;
КонецЕсли;
//обработка поля
КонецЦикла;
3 TormozIT
 
гуру
01.12.06
13:09
Считайте меня извращенцем, но, если сильно надо, то можно писать имя родительского элемента формы в какое либо строковое свойство элемента управления.
4 Гений 1С
 
гуру
01.12.06
13:09
(0) Видишь ли, Нуралиев заключил сделку с диаволом и оставил в 1С пару черных дыр, чтобы помучать грешных программистов 1С. Даже в 8.1 он их не исправил, еще не искупили они свои грыхи.
5 КЗ
 
01.12.06
13:10
Также у всех элементов на странице панели порядок обхода начинается с 1.
6 coder1c80
 
01.12.06
13:10
сотни элементов это круто...
7 MaxS
 
01.12.06
13:10
+(2) Или просто сделать перед открытием списки элементов панелей и если открыта какая-то панель, то обрабатывать определенный список.
8 TormozIT
 
гуру
01.12.06
13:11
(2) Тоже неплохой вариант и более универсальный. Применял его на практике - в плане универсальности - лидер!
Независимо от того, куда вы едете — это в гору и против ветра!