|
0
icherski
15.05.15
✎
10:23
|
Коллеги, выручайте. Надо получить срез крайних цен закупки по всем товарам. Делаю запрос к соответствующему регистру накопления и получаю следующую картину:
Товар 1 = 20.01.2015 = 500 руб.
Товар 1 = 19.01.2015 = 390 руб.
Товар 1 = 05.12.2014 = 385 руб.
Товар 2 = 15.03.2015 = 1000 руб.
Товар 2 = 10.03.2015 = 990 руб.
...
Необходимо получить картину следующего вида:
Товар 1 = 20.01.2015 = 500 руб.
Товар 2 = 15.03.2015 = 1000 руб.
Товар 3 = 05.02.2015 = 5100 руб.
...
Можно ли это как-то сделать в СКД? Полученную таблицу далее необходимо будет через ЛЕВОЕ СОЕДИНЕНИЕ объединять с другими наборами данных.
|
|
|
3
icherski
15.05.15
✎
10:31
|
Запрос в нынешнем виде выглядит вот так:
ВЫБРАТЬ
Закупки.Номенклатура КАК Номенклатура,
Закупки.Период КАК Период,
Закупки.Стоимость / Закупки.Количество КАК Стоимость
ИЗ
РегистрНакопления.Закупки КАК Закупки
СГРУППИРОВАТЬ ПО
Закупки.Номенклатура,
Закупки.Стоимость / Закупки.Количество,
Закупки.Период
УПОРЯДОЧИТЬ ПО
Номенклатура,
Закупки.Период УБЫВ
|
|
|
6
xaozai
15.05.15
✎
10:39
|
(0) Вот с вашими данными из (0):
ВЫБРАТЬ
"Товар 1" КАК Товар,
ДАТАВРЕМЯ(2015, 1, 20) КАК Дата,
500 КАК Сумма
ПОМЕСТИТЬ Данные
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Товар 1",
ДАТАВРЕМЯ(2015, 1, 19),
390
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Товар 1",
ДАТАВРЕМЯ(2014, 12, 5),
385
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Товар 2",
ДАТАВРЕМЯ(2015, 3, 15),
1000
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Товар 2",
ДАТАВРЕМЯ(2015, 3, 10),
990
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Данные.Товар КАК Товар,
МАКСИМУМ(Данные.Дата) КАК Дата
ПОМЕСТИТЬ ТоварИДата
ИЗ
Данные КАК Данные
СГРУППИРОВАТЬ ПО
Данные.Товар
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТоварИДата.Товар,
ТоварИДата.Дата,
Данные.Сумма
ИЗ
ТоварИДата КАК ТоварИДата
ЛЕВОЕ СОЕДИНЕНИЕ Данные КАК Данные
ПО ТоварИДата.Товар = Данные.Товар
И ТоварИДата.Дата = Данные.Дата
|
|
|
7
icherski
15.05.15
✎
10:49
|
Сделал вот так:
ВЫБРАТЬ
ДатыЗакупки.Номенклатура,
ДатыЗакупки.Период КАК ДатаЗакупки,
ЕСТЬNULL(Закупки.Стоимость / Закупки.Количество, 0) КАК КрайняяЗакупка
ИЗ
(ВЫБРАТЬ
Закупки.Номенклатура КАК Номенклатура,
МАКСИМУМ(Закупки.Период) КАК Период
ИЗ
РегистрНакопления.Закупки КАК Закупки
СГРУППИРОВАТЬ ПО
Закупки.Номенклатура) КАК ДатыЗакупки
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Закупки КАК Закупки
ПО ДатыЗакупки.Номенклатура = Закупки.Номенклатура
И ДатыЗакупки.Период = Закупки.Период
Спасибо за помощь!
|
|