Описание встроенного языка системы 1С Предприятие


Способы оптимизации формирования отчетов - часть 2


Вариант 3

В программном модуле текст вывода данных в Таблицу следующий

Пока Запрос.Группировка("Товар") = 1 Цикл

   Тов = Запрос.Товар;

   ПечНаим = Тов.Наименование;

   ПечАртикул = Тов.Артикул;

   ПечЦена = Тов.Цена;

   ПечВалюта = Тов.Валюта;

   Таб.ВывестиСекцию("Товар1");

КонецЦикла;

Секция "Товар1" в Таблице имеет следующий формат:

<ПечНаим>

<ПечАртикул>

<ПсчЦена>

<ПечВалюта>

В третьем варианте отображаемые реквизиты товара вычисляются в про­граммном модуле, а в ячейках Таблицы размещены простые выражения — ссылки на идентификаторы программного модуля. Доступ к каждому реквизи­ту товара происходит по сокращенному пути — через промежуточную перемен­ную: Товар — Реквизит. В данном варианте фаза вывода данных в Таблицу работает быстрее, чем во втором варианте (выигрыш ~20%) и существено бы­стрее, чем в первом варианте (выигрыш ~40%), т. к. вычисление значений рек­визитов объектов через «одну точку» выполняется быстрее, чем через «две (и более) точки».

Кратко суть этого раздела можно выразить так: при реализации больших отчетов, которые рассчитаны на отображение более сотни строк, следует при­держиваться следующих правил:

  • не размещайте сложных выражений в ячейках Таблицы. Лучше вычис­лить необходимые значения непосредственно в программном модуле;
  • если необходимо получить несколько реквизитов одного объекта, кото­рый сам является составной частью другого объекта, то следует восполь­зоваться промежуточной переменной, в которую сначала можно записать значение всего объекта «целиком», а затем уже от нее получать требуе­мые данные.




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



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