Имя: Пароль:
1C
 
Запрос. Срез ДВУХ последних значений регистра сведений для массива.
0 bvb
 
18.11.14
11:20
Есть регистр сведений "ЦеныНоменклатуры" - измерения Номенклатура , Характеристика, ресурс Цена

Есть массив номенклатур - параметр

Нужно ОДНИМ ЗАПРОСОМ для КАЖДОЙ номенклатуры массива номенклатур, получить ДВА последних значения цены (цену и дату).
Естественно даты изменения цен могут быть разные для каждой номенклатуры.

Реализуема ли такая задача вообще ?
1 Fragster
 
гуру
18.11.14
11:21
реализуема
2 Wobland
 
18.11.14
11:21
да
3 Fragster
 
гуру
18.11.14
11:21
и даже несколько способов
4 Maxus43
 
18.11.14
11:21
объеденить?
5 Prog-AL
 
18.11.14
11:22
Кореллированный запрос.
6 Classic
 
18.11.14
11:46
Такая задача реализуема вообще для любого количества "последних значений"
7 bvb
 
18.11.14
11:47
Как я понимаю нужно выбрать все значения по заданному массиву в ВТ и отсортировать по датам. Непонятно только как ограничить для каждого элемента выборку двумя последними значениями
8 RomanYS
 
18.11.14
11:51
(7) либо (5)
либо двойное соединение среза с реальной таблицей
сначала
...
Максимум(регистр.Период) как ВтораяДата
...

потом по этому полю соединение еще раз с реальной таблицей
9 Classic
 
18.11.14
11:52
ВЫБРАТЬ
    Цены.*
ИЗ РС.ЦЕНЫ КАК Цены
ГДЕ
   РС.Номенклатура В(&масс)
   И РС.Период В
(ВЫБРАТЬ ПЕРВЫЕ СТОПИЦОТ
    Вложенный.Период
ИЗ РС.ЦЕНЫ КАК Вложенный
ГДЕ
   Вложенный.Номенклатура = Цены.Номенклатура
УПОРЯДОЧИТЬ ПО Вложенный.Период УБЫВ)
10 Classic
 
18.11.14
11:53
Точнее Цены.Период В
11 Classic
 
18.11.14
11:54
ВЫБРАТЬ
    Цены.*
ИЗ РС.ЦЕНЫ КАК Цены
ГДЕ
   Цены.Номенклатура В(&масс)
   И Цены.Период В
(ВЫБРАТЬ ПЕРВЫЕ СТОПИЦОТ
    Вложенный.Период
ИЗ РС.ЦЕНЫ КАК Вложенный
ГДЕ
   Вложенный.Номенклатура = Цены.Номенклатура
УПОРЯДОЧИТЬ ПО Вложенный.Период УБЫВ)
12 Prog-AL
 
18.11.14
11:54
Fragster уже приводил этот запрос. Добавьте в него условие на массив нужных товаров и все.

ВЫБРАТЬ
    ЦеныНоменклатуры.Период КАК Период,
    ЦеныНоменклатуры.Регистратор,
    ЦеныНоменклатуры.НомерСтроки,
    ЦеныНоменклатуры.Активность,
    ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
    ЦеныНоменклатуры.ТипЦен КАК ТипЦен,
    ЦеныНоменклатуры.Качество КАК Качество,
    ЦеныНоменклатуры.Цена,
    ЦеныНоменклатуры.Валюта,
    ЦеныНоменклатуры.ЕдиницаИзмерения,
    ЦеныНоменклатуры.ЦенаВключаетНДС
ИЗ
    РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ГДЕ
    ЦеныНоменклатуры.Период В
            (ВЫБРАТЬ ПЕРВЫЕ 2
                РегистрВложенный.Период
            ИЗ
                РегистрСведений.ЦеныНоменклатуры КАК РегистрВложенный
            ГДЕ
                РегистрВложенный.Номенклатура = ЦеныНоменклатуры.Номенклатура
                И РегистрВложенный.ТипЦен = ЦеныНоменклатуры.ТипЦен
                И РегистрВложенный.Качество = ЦеныНоменклатуры.Качество
            УПОРЯДОЧИТЬ ПО
                РегистрВложенный.Период УБЫВ)

УПОРЯДОЧИТЬ ПО
    Номенклатура,
    ТипЦен,
    Качество,
    Период
13 Fragster
 
гуру
18.11.14
11:54
14 bvb
 
18.11.14
11:59
(13) Вот это ценно
15 Fragster
 
гуру
18.11.14
12:06
(14) а главное - смотри насколько это баян и находится по поиску (в том числе и проблема (0) находится с решением)
Программист всегда исправляет последнюю ошибку.