Показать сообщение отдельно
Старый 27.12.2022, 13:23   #8  
rDenis2 is offline
rDenis2
Участник
 
62 / 36 (2) +++
Регистрация: 13.05.2010
Цитата:
Сообщение от EVGL Посмотреть сообщение
1. Это называется group by: https://learn.microsoft.com/en-us/dy...y-data-sources
При этом
Header := $YourName_GroupByLinesByDate
Header.Date := $YourName_GroupByLinesByDate.grouped.YourDate
Line := $YourName_GroupByLinesByDate.lines
(источников данных). А вот последние могут зависеть друг от друга.
Получилось сгрупировать если в XML 1 header если больше одного берется только первый.

XML:
Header1 (id1)
--line1: date1
--line2: date2
Header2 (id2)
--line1: date3
Header3 (id3)
--line1: date1

mapping:
Datasource структура:

model
-$GroupedByDate=GroupBy(model.header.lines; model.header.lines.date, model.header.lines.headerId) - сгруппировал линии по дате/header id
--$SelectedStatement=where(model.header, model.header.id=$GroupedByDate.grouped.headerId) - это я бинжу к таблице header (destination)
--grouped
---date
---headerId
-header
--lines
---date
---headerId

В дебуггере в узле header показывает 3 записи (header1, header2, header3). А в узле $GroupedByDate - 2 записи из header 1(id1, date1; id1, date2). остальные header игнорируются