![]() |
|
Запрос по иерархии | ☑ | ||
---|---|---|---|---|
0
Timekiller
29.10.14
✎
03:55
|
Имеется упрощеный запрос:
ВЫБРАТЬ ПродажиОбороты.Номенклатура КАК Номенклатура, ПродажиОбороты.КоличествоОборот КАК КоличествоОборот ИЗ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты ИТОГИ СУММА(КоличествоОборот) ПО ОБЩИЕ, Номенклатура ИЕРАРХИЯ В результате получается дерево: Верхняя группа 40 Нижняя группа 40 Номенклатура1 19 Номенклатура2 21 Есть регистр сведений с статическими данными по нормам продаж, измерение - Группа номенклатуры, ресурс - Норма (число) Нужно получить следующий вид отчета, если норма по верхней группе - 60, по нижней - 30: Верхняя группа 40 60 Нижняя группа 40 30 Номенклатура1 19 NULL или 30 (не важно) Номенклатура2 21 NULL или 30 (не важно) Подскажите, как лучше такое сделать? Прочитал несколько тем по соединению в иерархии, но решения там не нашел. |
|||
1
France
29.10.14
✎
04:01
|
левым соединением регистр сведений с нормами... как раз для всей иерархии (если прописаны) нормы можно получить.. для номенклатуры будет нулл, либо поставить значение нормы родителя.
|
|||
2
Timekiller
29.10.14
✎
04:09
|
Я так понимаю твоя идея вот такая:
ВЫБРАТЬ ПродажиОбороты.Номенклатура КАК Номенклатура, ПродажиОбороты.КоличествоОборот КАК КоличествоОборот, НормыПродаж.НормаКоличество ИЗ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НормыПродаж КАК НормыПродаж ПО ПродажиОбороты.Номенклатура = НормыПродаж.ГруппаНоменклатуры ИТОГИ СУММА(КоличествоОборот) ПО ОБЩИЕ, Номенклатура ИЕРАРХИЯ Но это работать не будет, т.к. в регистре продаж нет групп. Если в левом соединении указать: ПО ПродажиОбороты.Номенклатура.Родитель = НормыПродаж.ГруппаНоменклатуры А в итогах любую агрегатную функцию, то мы не получим правильное значение для верхней группы |
|||
3
France
29.10.14
✎
04:10
|
тогда Номенклатура левое соединение продажи левое соединение регистр..
|
|||
4
Timekiller
29.10.14
✎
04:45
|
(3) Мне кажется такой отчет будет крайне не оптимальным, т.к. приведет к блокировке справочника номенклатуры.
Еще идеи есть? Вот то что я сделал по твоим предложениям и теперь итоги нормально по иерархии не считаются: ВЫБРАТЬ ВложенныйЗапрос.Номенклатура КАК Номенклатура, ВложенныйЗапрос.КоличествоОборот, ВложенныйЗапрос.НормаКоличество ИЗ (ВЫБРАТЬ НоменклатураСпр.Ссылка КАК Номенклатура, ПродажиОбороты.КоличествоОборот КАК КоличествоОборот, НормыПродаж.НормаКоличество КАК НормаКоличество ИЗ Справочник.Номенклатура КАК НоменклатураСпр ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты ПО (ПродажиОбороты.Номенклатура = НоменклатураСпр.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НормыПродаж КАК НормыПродаж ПО (НормыПродаж.ГруппаНоменклатуры = НоменклатураСпр.Ссылка)) КАК ВложенныйЗапрос ГДЕ (ВложенныйЗапрос.КоличествоОборот ЕСТЬ НЕ NULL ИЛИ ВложенныйЗапрос.НормаКоличество ЕСТЬ НЕ NULL ) УПОРЯДОЧИТЬ ПО Номенклатура ИЕРАРХИЯ |
|||
5
Лодырь
29.10.14
✎
04:48
|
В ресурсах на нормы для не указывай агрегатную функцию. Точнее, укажи ее идентичной ресурсу. То бишь просто "НормаКоличество". Тогда данные по верхнему уровню номенклатурных групп будут нормальными.
|
|||
6
Timekiller
29.10.14
✎
04:56
|
(5) А можно для меня еще раз, я не понял
|
|||
7
Timekiller
29.10.14
✎
05:00
|
У меня не указаны агрегатные функции для ресурсов
|
|||
8
Лодырь
29.10.14
✎
05:05
|
(6) смотри, есть у нас к примеру табличка вида
http://screencast.com/t/tRLJFGImn где измерение - справочник с иерархией элементов (читай - номенклатурные группы) тогда на закладке ресурсы у меня http://screencast.com/t/jXYxsosd настройка отчета - группировка по измерению с иерархией. и на выходе получаю: http://screencast.com/t/cNMD1Rdet Собственно добавить сюда продажи несложно. |
|||
9
Timekiller
29.10.14
✎
05:10
|
Понял, есть один нюанс, я сделал отчет на базе универсального отчета, а не в СКД, т.к. это УТ 10.3
Реально адаптировать под универсальный отчет, а то пользователи привыкли? |
|||
10
Лодырь
29.10.14
✎
05:11
|
(9) Понятия не имею ) я УТ 10.3 и стандартные отчеты в руках держал лет 5 назад.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |