Показать сообщение отдельно
Старый 27.12.2022, 19:43   #9  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Вообще-то переменной where(model.header, model.header.id=$GroupedByDate.grouped.headerId) быть не должно. Если уже есть присвоение чего-то к $GroupedByDate (чего я в вашем представлении не вижу, и меня это настораживает: группировка должна ведь какому-то итератору, какой-то последовательности записей на выходе соответствовать?), то из текущего $GroupedByDate[i] всегда можно добраться до header (типа $GroupedByDate.lines.header).

Если же есть WHERE, то ему, наверное, придется скармливать ALLITEMS($GroupedByDate), поскольку как объяснял один ныне уволенный коллега из Майкрософт, внутри Electronic Reporting идет "ленивый поиск": если источник данных ничему не присвоен, то этот источник данных и не читается. Стало быть, если что-то итерируемое никакой последовательности не присвоен, то он и не итерируется. Аналогия: курсор FETCH в T-SQL.

Противодествует такому поведению функция ALLITEMS, которая формирует список, состоящий заведомо из всех возможных записей. Аналогия: копия таблицы в памяти, где все записи извлечены и представлены по значению.