1С-Предприятие 8.0. Практическое пособие разработчика


Вычисляемые колонки в списках - часть 2


Первое, что мы делаем в этом обработчике – проверяем, что выводимый элемент справочника не является группой. В этом случае мы создаем вспомогательную структуру для описания отбора ("ОтборНоменклатуры") и помещаем в ячейку "Цена" актуальное значение цены, полученной из периодического регистра сведений "Цены".

Затем мы анализируем значение выведенной цены и если оно находится в нижнем ценовом диапазоне (менее 500 рублей), выделяем это значение васильковым цветом. Для указания цвета мы используем системный набор значений WEBЦвета.

Запустим 1С:Предприятие в режиме отладки и посмотрим, какой внешний вид примет теперь справочник "Номенклатура":


[525]

При использовании обработчика события "При выводе строки" нужно быть крайне внимательным и всегда стараться минимизировать обращения к данным, которые не содержатся в параметре "ДанныеСтроки".

Дело в том, что обработчик этого события вызывается каждый раз при возникновении необходимости перерисовки видимой области табличного поля и отрабатывает столько раз, сколько строк содержит видимая область. Необходимость перерисовки видимой области табличного поля возникает в результате многих событий, связанных как с самим табличным полем, так и с формой. Если проанализировать работу обработчиков событий формы и табличного поля, можно увидеть, что простое добавление новой строки в табличное поле вызовет, скорее всего, не одну, а несколько перерисовок табличного поля.

Поэтому обращение в этом обработчике не к данным строки, а к данным, содержащимся в базе данных (получение значений через точку, обращение к итогам регистров и т.д.), может сильно замедлить вывод формы на экран. Возможно, в некоторых случаях следует отказаться от создания вычисляемых колонок в списках, и выводить вычисляемые данные только для текущей строки списка в дополнительные поля, расположенные на форме. [526]




Начало  Назад  Вперед



Книжный магазин