Цитата:
Сообщение от
belugin
Хотелось бы тогда узнать, что именно не получается
Поясню на другом примере, т.к. в нем проблема аналогичная, но структура данных проще и нет лишних, экспериментальных переменных.
Задача: Для необходимого перечня складских ячеек определить дату последней инвентаризации особого типа. Эта дата для ячейки должна определяться по строке складской работы, для которой:
- Ячейка в строке работы равна искомой ячейке
- Тип = «Инвентаризация»
- Имеет максимальную дату в поле «Закрытая работа» строки работы (WHSWorkLine.WorkClosedUTCDateTime)
- + доп. условия по некоторым полям шапки складской работы.
Сама дата должна браться из поля «Закрытая работа» строки работы (WHSWorkLine.WorkClosedUTCDateTime).
Идея реализации на ER:
Основные источники данных:
- Таблица WMSLocation, добавлена в корень источников данных
- Таблица WHSWorkLine, добавлена в корень источников данных
Вычисляемые поля и группировки:
- Поле $FiltredWMSLocation – отбор нужных ячеек из таблицы WMSLocation, добавлена в корень источников данных. Работает так, как я ожидаю.
- Поле $FiltredWMSWorkLinePlan – отбор нужных строк работ инвентаризации, по ячейке из $FiltredWMSLocation. Добавлено внутрь $FiltredWMSLocation. Работает так, как я ожидаю.
- Группировка $LastPlanInventory – группировка строк работы с агрегацией по WHSWorkLine.WorkClosedUTCDateTime, с типом «Максимум», без полей для группировки. Добавлено внутрь $FiltredWMSWorkLinePlan. Работает не так, как я ожидаю – вместо максимальной даты из строк отобранных работ выдает пустую дату (1899-12-31T16:00:00-08:00). В этом основной вопрос, почему здесь получается пустая дата, что я делаю не так?
Узел (WMSWorkLine1:Список записей) был добавлен в модель, чтобы проконтролировать правильность отбора строк работы в $FiltredWMSWorkLinePlan. В XML видно, что работы отбираются корректно. По ячейке BULK-001 в принципе вопроса нет, там отобранные строки еще не в статусе «Закрыто», поэтому даты пустые и в группировке тоже должно быть пусто. Но вот по ячейке FL-004 результат непонятен, видно что отобралось две строки работы, по одной из них дата заполнена и соответственно именно она и должна была определиться группировкой и попасть в тег LastDayInventory в XML, но там почему-то пустая дата
Скрины:
Обзор источников данных:
Вычисляемые поля и Группировки:
Детали группировки:
Сопоставление модели и источников данных:
Отбор данных в модель по ячейкам FL-004 и BULK-001: