Цитата:
Сообщение от
apanko
Коллеги,
Смотрел один отчет (процессинг онли), увидел интересную конструкцию:
В отчете один датаайтем: Транзакция (так и называется, это LS Retail). В датайатеме стоит сортировка по дате (не первичный ключ).
В триггере
OnPreDataItem следующий код (условно):
Код:
IF FIND('-') THEN REPEAT
Найти записи в связанных таблицах (ТранзакцияСтроки)
Скопировать записи из связанных таблиц в соответствующие архивные таблицы
Удалить записи в связанных таблицах
Скопировать записи таблицы Транзакция в архивную таблицу
Удалить записи из таблицы транзакция
UNTIL NEXT=0;
Вопрос: почему этот код не в триггере
onAfterGetRecord (без цикла разумеется)?
Я думаю, что кому-то просто захотелось свести все таблицы, связанные с данной, в едином списке (не даром сначала стоят одни фильтра, а потом выборка).
Хотя могу сделать не очень умное предположение - в таком случае на SQL будет меньше чтений из таблиц.
Хотя с другой стороны - почем они тогда не сделали "разделение" по системам.