"Частичное" обновление формы списка


Уменьшаем время обновления перегруженной расчетными колонками формы списка, используя "кэш" и анализируя вид обновления: "действие пользователя" и "общее обновление формы"

Конфигурация 1С:7.7,  демонстрирует реализацию
частичного обновления формы списка. Частичное обновление
может быть необходимо, если на форме списка размещено много
дополнительных текстовых расчетных колонок, значение в каждой
из которых рассчитывается для каждой видимой строки в форме и
может занимать довольно продолжительное время. Прилагательное
"частичное" условно, - форма обновляется целиком, однако, полный
расчет производится не для всех значений. Часть  значений берется
из сохраненного "кэша" - объекты "Таблица" + "DBF", часть значений
не отображается вообще, если превышено заданное время обновления
формы.
Текущая запись, на которую переходит пользователь, обновляется
без условий. Полное обновление формы, происходящее, например, при
смене родителя, увеличении размера формы, распознается по
порядку обновления (выполняется перед обновлением текста на форме),
обрабатывается с использованием "кэша" и ограничивается по времени.

Особенности исполнения:
Все расчетные значения в колонках обращаются к одной общей функции
ОбновлениеФормы(<НомерКолонки>), которая делегирует сам расчет в
функцию РасчитатьКолонку(<НомерКолонки>). Эту функцию нужно изменить
под Вашу форму списка (см. также "заремаренный" вариант).

В скачиваемом файле - конфигурация-пример с формой списка справочника,
в которой 10 расчетных колонок с задаваемым временем пересчета одной
 записи и  значением-ограничителем общего времени обновления формы.

Файлы обработки:

-



Back to top