|
22.05.2020, 20:39 | #1 |
Участник
|
Хотелось бы тогда узнать, что именно не получается
|
|
23.05.2020, 13:53 | #2 |
Участник
|
Поясню на другом примере, т.к. в нем проблема аналогичная, но структура данных проще и нет лишних, экспериментальных переменных.
Задача: Для необходимого перечня складских ячеек определить дату последней инвентаризации особого типа. Эта дата для ячейки должна определяться по строке складской работы, для которой:
Сама дата должна браться из поля «Закрытая работа» строки работы (WHSWorkLine.WorkClosedUTCDateTime). Идея реализации на ER: Основные источники данных:
Вычисляемые поля и группировки:
Узел (WMSWorkLine1:Список записей) был добавлен в модель, чтобы проконтролировать правильность отбора строк работы в $FiltredWMSWorkLinePlan. В XML видно, что работы отбираются корректно. По ячейке BULK-001 в принципе вопроса нет, там отобранные строки еще не в статусе «Закрыто», поэтому даты пустые и в группировке тоже должно быть пусто. Но вот по ячейке FL-004 результат непонятен, видно что отобралось две строки работы, по одной из них дата заполнена и соответственно именно она и должна была определиться группировкой и попасть в тег LastDayInventory в XML, но там почему-то пустая дата Скрины: Обзор источников данных: Вычисляемые поля и Группировки: Детали группировки: Сопоставление модели и источников данных: Отбор данных в модель по ячейкам FL-004 и BULK-001: |
|
23.05.2020, 13:59 | #3 |
Участник
|
Есть еще один вопрос по входным параметрам. Как-то можно организовать входные параметры так, чтобы одно поле было зависимо от другого?
Например, в диалоге должно быть два поля: Склад и ячейка. При этом если выбран склад, то в поле «Ячейка» должны быть доступны для выбора только те ячейки, которые относятся к этому складу. Но если склад не выбран, то отчет строится по всем складам и всем ячейкам. |
|
24.05.2020, 20:13 | #4 |
Участник
|
Цитата:
Такое можно организовать только кодом - строя весь интерфейс в X++ и передавая параметры из него в отчет. |
|
25.05.2020, 08:28 | #5 |
Участник
|
Цитата:
Сообщение от belugin
Я вижу, что группировка помещена внутрь того, что она группирует. Если что-то находится внутри какого-то списка, то все ссылки на уровень этого списка и ниже выбирают записи относительно текущего элемента этого списка. Т.е. в данном вычисляется максимум одной текущей записи списка.
Добавил в модель узел WMSWorkLineGrouped в нем строки отобранных работ из $FiltredWMSWorkLinePlan группируются по ячейке из строк работы, и агрегируются по дате закрытия строки, чтобы контролировать что именно попадает в группировку. Попробовал два варианта, оба не дали нужного результата. Вариант А – Группировка $LastPlanInventory3 добавлена в корень источников данных. В результате выполнения XML видно, что это неправильный вариант, т.к. ячейка в $FiltredWMSWorkLinePlan не совпадает с тем, что есть в результатах группировки. Получается, что на вход группировки подается явно не тот набор записей. Вариант Б - Группировка $LastPlanInventory2 добавлена как дочерний элемент $FiltredWMSLocation, т.е. находится на одном уровне с $FiltredWMSWorkLinePlan, которое отбирает группируемые строки работ. Думал что это вариант, будет верным, но он тоже дает не тот результат. Ячейка в $FiltredWMSWorkLinePlan и $LastPlanInventory2 совпадает, но результат группировки даты в $LastPlanInventory2 – опять пустой (( Проблема в том, что группировка должна быть добавлена на какой-то другой уровень иерархии источников данных? |
|
Теги |
generic electronic reporting, ger |
|
|