Показать сообщение отдельно
Старый 20.05.2008, 17:18   #2  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от apanko Посмотреть сообщение
Коллеги,

Смотрел один отчет (процессинг онли), увидел интересную конструкцию:

В отчете один датаайтем: Транзакция (так и называется, это LS Retail). В датайатеме стоит сортировка по дате (не первичный ключ).
В триггере OnPreDataItem следующий код (условно):

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