gifts2017

Оптимизация работы со списком, для элементов которого динамически выводится дополнительная информация

Опубликовал Aikosyapr (aikosyapr) в раздел Программирование - Работа с интерфейсом

Иногда бывают ситуации, когда для какого-либо списка необходимо выводить дополнительную информацию по его текущим объектам. Наглядным примером служит журнал операций в бухгалтерии, где для каждой операции в табличное поле выводится информация по проводкам. Некоторое неудобство при этом возникает при прокрутке списка стрелками, система начинает "тормозить", а уж если получаемые данные имеют сложную структуру, то перемещение таким образом и вовсе становится невозможным. Вот нехитрое решение, придуманное мною. Вряд ли оно оригинально, но всё же может оказаться кому-то полезным.
Процедура СписокПриАктивизацииСтроки(Элемент)

    ОтключитьОбработчикОжидания("ОбновитьДанныеНаФорме");
    ПодключитьОбработчикОжидания("ОбновитьДанныеНаФорме",0.4,Истина);

КонецПроцедуры

Собственно, всё. Как нетрудно догадаться, само обновление происходит в процедуре "ОбновитьДанныеНаФорме".

0.4 секунды - это я для себя вычислил опытным путём наиболее комфортный интервал задержки обновления, можно поиграться и настроиться под себя (или занудного клиента). Текущий элемент списка я при этом передавал через локальную переменную модуля.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Misha ⁠ (Magister) 28.04.11 13:58
В типовой УТ для Украины так и сделано. Только стоит 0.1 секунда, и нет вызова "ОтключитьОбработчикОжидания"
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа