2 УФ Запретить ПриАктивизацииСтроки при обращении к элементу формы #619109


#0 by TOlikRx
Для динамического списка создан обработчик ПриАктивизацииСтроки. В обработчике вызываю процедуру "СоздатьДанныеПараметров": После выполнения данной процедуры, почему то обработчик возвращается к ПриАктивизацииСтроки и все зацикливается и соответственно вылетает. Почему так происходит и как решить проблему правильно ?
#1 by IamAlexy
известная проблема. на партнерке подробно разбиралась так и должно быть твоя задача решается несколько подругому - через обработчик ожидания
#2 by TOlikRx
а это как ? можно ссылку для почитать ?
#3 by IamAlexy
да куча обсуждений с 2009 г.
#4 by IamAlexy
вот
#5 by TOlikRx
спасибо, кшол в чтение. как найду отпишу ))
#6 by TOlikRx
так там пароль ))
#7 by TOlikRx
я к сож не партнер
#8 by IamAlexy
Это не событие, это обработка ожидания. Давно известный приём -- все свои действия, выполняющиеся при активизации строки, вынесите в отдельную процедуру и подключите её непосредственно в событии ПриАктивизации, используя обработчик ожидания с маленьким интервалом (0.1 сек). Особенность обработчика ожидания в том, что он активизируется только когда платформа не занята выполнением друого кода. То есть в период наполнения исходного списка ничего не будет происходить, а как только код заполнения завершится, тут же через 0.1 сек будет однократно вызвана процедура ожидания, и выполнит все необходимые Вам действия. Данный приём также позволит осуществлять быстрый скроллинг по такому списку, так как не потребует выполнения действий на _каждую_ активизацию строки, а будет однократно срабатывать только при завершении скроллинга.
#9 by TOlikRx
круто. пошел пробовать.
#10 by TOlikRx
Сделал так: &НаКлиенте Все работает, но только в ПодключитьОбработчикОжидания указал в 3м параметре Истина, а она повторяется. Хотя в минуале написано, что 3й параметр если истина, то повторяется однократно. Пришлось по окончании действий прописать ОтключитьОбработчикОжидания("ВывестиДанныеТекущегоЭлемента")
#11 by TOlikRx
Открываю тему :( Целый день уже мучаюсь. В общем проблема возобновилась, т.к. до этого я создавал и изменял значения реквизитов формы. Теперь я попытался скрыть ненужный и показать нужный элемент в зависимости от входного параметра, который получаю из текущего в списке элемента. Так вот при смене видимости даже этот прием у меня не работает.
#12 by IamAlexy
изменение видимости элементов управляемых форм - дурной тон
#13 by TOlikRx
Ок, но альтернатива решения есть ?
#14 by TOlikRx
Очень нужен вариант решения.
#15 by Ksandr
Книжки намекают на изменение доступности
#16 by TOlikRx
Если убрать только доступность элементы продолжают же быть видимыми. А надо чтобы скрылись. Как быть ?
#17 by Ksandr
Без серверного вызова необойтись. Честно говоря, сильно сомневаюсь, что Вам надо "аааааа, у меня ничего не работает, все пропало" причем в прямом смысле пропало. Для изменения видимости требуется серверный вызов, для доступности нет.
#18 by TOlikRx
Это я понимаю, но не подходит Доступность.
#19 by ChAlex
- да можно все нормально реализовать - лично сам совсем недавно аналогичную форму делал - все нормально работает и ничего не циклится. Могу дать только рекомендации: - видимость изменять на сервере и желательно всех элементов в одной процедуре. Вызов функции опять же вызывать через обработчик ожидания. Ну и опять же смотреть обработчик объекта из которого вызывать. Суть в том, что после возврата из серверной процедуры на форме возникнут некоторые события (в частности активация объект, и соответсвенно могут возникнуть обработчики событий, которые вроде пользователь не вызывает, но они будут - в частности ПриАктивацииСтроки - если табличный объекь активен). Лучше не делать изменения видимости из этого обработчика. Можно например делать активным некий иной объект формы и после этого вызывать уже процедуру изменения видимости. Если же все-таки из табличного объекта, то придется некие флаги организовывать
#20 by TOlikRx
Печалька С-ка ...
#21 by TOlikRx
Я с параметром изначально делал, но подумал, что есть адыкватное решение ... як нет :(
#22 by ChAlex
- вообще-то действительно делать видимость объектов из при активации строки - дурной тон. Ибо если это будет происходить часто, соответсвенно будет постоянно тормознуто. Тут наверное должен выполняться принцип: хоть и безобразно - но однообразно. Настраивать видимость имеет смысл по кнопке например (то бишбь определи некий набор реквизитов и кнопочкой зафиксировали свой выбор и перешли непосредственно к рабочим объектам формы
#23 by TOlikRx
дурной тон - что значит дурной тон, если требуется и надо скрыть ? если бы мы обсуждали вопрос тона, то я бы создал другую ветка, а так сорьте.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С