|
Как узнать на какой странице панели находится элемент формы |
☑ |
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) Тоже неплохой вариант и более универсальный. Применял его на практике - в плане универсальности - лидер!
|
|