|
Запрос на вывод прайс-листа номенклатуры | ☑ | ||
---|---|---|---|---|
0
derk153
11.02.13
✎
13:42
|
Здравствуйте!
Помогите пожалуйста с запросом. Нужно вывести прайс номенклатуры сохраняя иерархию. Делаю это 2умя запросами в 1ый - вся номенклатура, 2ой - цены из регистра сведений, далее делаю перебор номенклатуры и в таблице цен ищу соответствующею цену, если цена найдена - вывожу в прайс, не найдена - нет + если группа, то запись тоже добавляется в прайс. Да, алгоритм туповат... но результат верный. Но есть одна проблемка, выводятся "пустые" группы, тобиш вывелось наименование группы, в номенклатурах которой нет цены, получается так: --------------------------------------------------------- 1 | БУД.МАТЕРІАЛИ НА ПРОДАЖ (ГРУППА) 2 | БУДІВЕЛЬНІ МАТЕРІАЛИ (ГРУППА) 3 | ВИРОБНИЦТВО (ГРУППА) 4 | Корпус1 |1 145,83 |шт. 5 | Корпус2 |1 145,83 |шт. --------------------------------------------------------- В идеале должно быть так: --------------------------------------------------------- 1 | ВИРОБНИЦТВО (ГРУППА) 2 | Корпус1 |1 145,83 |шт. 3 | Корпус2 |1 145,83 |шт. --------------------------------------------------------- Подскажите с алгоритмом или с правильным запросом. Спасибо. |
|||
1
Wobland
11.02.13
✎
13:44
|
из регистр итоги по номенклатура иерархия?
и без всяких справочников |
|||
2
НафНаф
11.02.13
✎
13:45
|
одним запросом, без всяких поисков далее как в (1)
|
|||
3
derk153
11.02.13
✎
13:49
|
ок, сейчас попробую
|
|||
4
derk153
11.02.13
✎
13:52
|
К сожалению не получается, не выводит группы. Вот запрос:
ЗапросЦены = Новый Запрос; ЗапросЦены.Текст = "ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, | ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование КАК Наименование, | ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения, | ЦеныНоменклатурыСрезПоследних.Цена, | ЦеныНоменклатурыСрезПоследних.ТипЦен, | ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа КАК ЭтоГруппа |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ) КАК ЦеныНоменклатурыСрезПоследних |ГДЕ | ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен | |УПОРЯДОЧИТЬ ПО | Номенклатура ИЕРАРХИЯ"; ЗапросЦены.УстановитьПараметр("Период", Дата); ЗапросЦены.УстановитьПараметр("ТипЦен", ТипЦен); |
|||
5
Wobland
11.02.13
✎
13:55
|
(4) итоги
|
|||
6
Wobland
11.02.13
✎
13:55
|
и тип цен в параметры таблицы
|
|||
7
derk153
11.02.13
✎
14:00
|
(5) Спасибо, получилось. Вот запрос:
ЗапросЦены = Новый Запрос; ЗапросЦены.Текст = "ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, | ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование КАК Наименование, | ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения, | ЦеныНоменклатурыСрезПоследних.Цена, | ЦеныНоменклатурыСрезПоследних.ТипЦен, | ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа КАК ЭтоГруппа |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ) КАК ЦеныНоменклатурыСрезПоследних |ГДЕ | ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен |ИТОГИ ПО | Номенклатура ТОЛЬКО ИЕРАРХИЯ"; ЗапросЦены.УстановитьПараметр("Период", Дата); ЗапросЦены.УстановитьПараметр("ТипЦен", ТипЦен); |
|||
8
Wobland
11.02.13
✎
14:01
|
(7) теперь (6). это в скобочках вторым параметром
|
|||
9
derk153
11.02.13
✎
14:03
|
А зачем? идет отбор только по 1му типу цен.
|
|||
10
Wobland
11.02.13
✎
14:03
|
(9) для кошерности и скорости
|
|||
11
derk153
11.02.13
✎
14:06
|
(10) ясн. спасибо)
|
|||
12
derk153
11.02.13
✎
14:11
|
а еще такой вопрос, хотелось бы еще делать отбор по родителю, как правильно уставить условие? если ставить
ЦеныНоменклатурыСрезПоследних.Номенклатура.Родитель = &Родитель то вложенные группы не попадают в отчет |
|||
13
Wobland
11.02.13
✎
14:16
|
в иерархии &Родитель?
|
|||
14
derk153
11.02.13
✎
14:19
|
(13) Спасибо, работает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |