Версия для печати темы (https://pro1c.org.ua/index.php?s=4790ce66185895e9ae04784e003bffe6&showtopic=5019)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование управляемых форм 1С 8.2 _ ПриАктивацииСтроки вызывается несколько раз
Автор: vbi 11.10.11, 11:29
Есть форма списка документа.
В ней переопределил процедуру "ПриАктивацииСтроки". В ней изменяю видимость некоторых элементов формы (не табличных).
Так вот, если видимость какого-то элемента в ПриАктивацииСтроки изменится с ИСТИНА н ЛОЖЬ или наоборот, то после завершения процедура ПриАктивацииСтроки вызывается еще раз.
Но если видимость элемента изменяется с ЛОЖЬ на ЛОЖЬ или ИСТИНА на ИСТИНА - вызывается один раз. Почему?
Таб. часть списка - динамический список
Автор: Vofka 11.10.11, 12:38
В 8.1 и в 8.2 (толстый клиент) в процедуру ПриПолученииДанных тоже пару раз заходит, этого тоже до сих пор никто объяснить не может , поэтому, возможно, стОит смириться...
Автор: vbi 11.10.11, 13:08
просто при выводе строки сервер один раз вызывается. Ну ладно, потом сделаю чтоб сервер не вызывался
Автор: vbi 11.10.11, 14:26
Кстате никогда не любил использовать "ПриПолученииДанных". Я Всегда использую "ОбновлениеОтображения" формы
Автор: Vofka 11.10.11, 15:13
Цитата
Кстате никогда не любил использовать "ПриПолученииДанных". Я Всегда использую "ОбновлениеОтображения" формы
Это разные вещи.
ПриПолученииДанных вызывается, когда в списках данные меняются (т.е. получение/удаление каких-то строк). А
ОбновлениеОтображения когда что либо меняется в форме.
Автор: vbi 13.10.11, 9:37
Цитата(Vofka @ 11.10.11, 16:13)
Это разные вещи. ПриПолученииДанных вызывается, когда в списках данные меняются (т.е. получение/удаление каких-то строк). А ОбновлениеОтображения когда что либо меняется в форме.
Ну да, когда меняется один список, вызывается
ПриПолученииДанных, но также вызывается и
ОбновлениеОтображения т.к. список визуально поменялся.
Автор: Vofka 13.10.11, 9:43
Цитата
Ну да, когда меняется один список, вызывается ПриПолученииДанных, но также вызывается и ОбновлениеОтображения т.к. список визуально поменялся.
Я к тому, что если меняется реквизит шапки, например, то
ПриПолученииДанных не вызывается, а вызывается
ОбновлениеОтображения. Т.е. вызов
ПриПолученииДанных будет только тогда, когда нам надо, а не будет всегда.
Автор: DartRomanius 13.10.11, 10:29
Цитата(vbi @ 11.10.11, 12:29)
Есть форма списка документа.
В ней переопределил процедуру "ПриАктивацииСтроки". В ней изменяю видимость некоторых элементов формы (не табличных).
Так вот, если видимость какого-то элемента в ПриАктивацииСтроки изменится с ИСТИНА н ЛОЖЬ или наоборот, то после завершения процедура ПриАктивацииСтроки вызывается еще раз.
Но если видимость элемента изменяется с ЛОЖЬ на ЛОЖЬ или ИСТИНА на ИСТИНА - вызывается один раз. Почему?
Таб. часть списка - динамический список
Так и должно быть. При изменении видимости происходит перерисовка - соответственно активация тоже происходит.
ЗЫ: Сам столкнлуся в свое время.
Автор: vbi 17.10.11, 15:26
Цитата(DartRomanius @ 13.10.11, 11:29)
Так и должно быть. При изменении видимости происходит перерисовка - соответственно активация тоже происходит.
ЗЫ: Сам столкнлуся в свое время.
Тоесть снова меняется видимость реквизита, но так как это один и тот же элемент - видимость та же самая и перерисовка больше не вызывается. Иначе говоря, если б при каждой активации строки видимость элемента менялась бы на противоположную - все бы зациклилось и повисло. Вот это да!
Что ж сделать, чтоб активация строки не вызывалась после перерисовки?
Автор: DartRomanius 17.10.11, 15:59
Цитата(vbi @ 17.10.11, 16:26)
Тоесть снова меняется видимость реквизита, но так как это один и тот же элемент - видимость та же самая и перерисовка больше не вызывается. Иначе говоря, если б при каждой активации строки видимость элемента менялась бы на противоположную - все бы зациклилось и повисло. Вот это да!
Что ж сделать, чтоб активация строки не вызывалась после перерисовки?
Скорее сделать что-бы не вызывалась перерисовка после активации строки.
Автор: vbi 18.10.11, 8:21
Цитата(DartRomanius @ 17.10.11, 16:59)
Скорее сделать что-бы не вызывалась перерисовка после активации строки.
А как это сделать?
Автор: DartRomanius 18.10.11, 9:10
Цитата(vbi @ 18.10.11, 9:21)
А как это сделать?
Не использовать изменение видимости в ПриАктивацииСтроки
Автор: mister-x 18.10.11, 9:42
Чистов на клієнті рекомендує взагалі відмовитись від викор. видимості, радить керувати доступністю. Видимість налаштовувати тільки при створ. форми на сервері.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua