Имя: Пароль:
1C
 
Простой запрос по последним ценам
0 m1_1976
 
26.11.14
14:46
Всем добрый день.
Есть результат запроса - три колонки
ДАТА, НОМЕНКЛАТУРА, ЦЕНА
Сделан не по регистру сведений - цена рассчитана в другом запросе.
Как теперь из этой таблички запросом получить - только последние даты цен.  
То есть может быть
29.11.14 МЯСО 300 р
30.11.14 МЯСО 302 р
03.12.14 МЯСО 305 р
25.11.14 КОСТИ 20 р
28.11.14 КОСТИ 25 р.

Хочу получить запросом только:
03.12.14 МЯСО 305 р
28.11.14 КОСТИ 25 р.
1 m1_1976
 
26.11.14
14:48
попробывал вот так:
МАКСИМУМ(ВложенныйЗапрос.ДатаДень) КАК ДатаДень

что-то не выходит
2 Timon1405
 
26.11.14
14:50
(1) что именно не выходит?
выкладывайте все уж, чего кусками кормить-то
3 m1_1976
 
26.11.14
14:51
Если совсем упросить, то вот так:

ВЫБРАТЬ
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Цена,
    ВложенныйЗапрос.ДатаДень КАК ДатаДень
ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
        ПоступлениеТоваровУслугТовары.Цена КАК Цена,
        НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) КАК ДатаДень
    ИЗ
        Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары) КАК ВложенныйЗапрос
4 SerGo-116
 
26.11.14
14:51
Может в запросе не стоит галка "Показывать первые"
5 antoneus
 
26.11.14
14:51
Сгруппировать по номенклатуре, максимум дата.
Соединить с таблицей по дате и номенклатуре.
6 m1_1976
 
26.11.14
14:52
точнее вот так:
ВЫБРАТЬ
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Цена,
    МАКСИМУМ(ВложенныйЗапрос.ДатаДень) КАК ДатаДень
ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
        ПоступлениеТоваровУслугТовары.Цена КАК Цена,
        НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) КАК ДатаДень
    ИЗ
        Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Цена
7 ColonelAp4u
 
26.11.14
14:52
лучше бы через регистр сведений
8 m1_1976
 
26.11.14
14:55
(7) я упрощаю задачу. Чтобы Вас не грузить. Цена расчетная. Получил в первом запросе ее... теперь хочу из них только последние получить... без регистра сведений
9 Timon1405
 
26.11.14
14:56
(8) см. (5)
10 m1_1976
 
26.11.14
14:57
(4) - если ставить галку ПОКАЗАТЬ ПЕРВЫЕ 1 - то показывает мне 1 первую строчку
11 m1_1976
 
26.11.14
14:57
(9) - смотрю...
12 m1_1976
 
26.11.14
15:01
(9) не понимаю...
13 m1_1976
 
26.11.14
15:01
не оно...

ВЫБРАТЬ
    МАКСИМУМ(ВложенныйЗапрос.ДатаДень),
    ВложенныйЗапрос.Номенклатура,
    NULL
ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
        ПоступлениеТоваровУслугТовары.Цена КАК Цена,
        НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) КАК ДатаДень
    ИЗ
        Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Номенклатура

ОБЪЕДИНИТЬ ВСЕ
    
ВЫБРАТЬ
    МАКСИМУМ(ВложенныйЗапрос.ДатаДень) КАК ДатаДень,
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.Цена
ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
        ПоступлениеТоваровУслугТовары.Цена КАК Цена,
        НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) КАК ДатаДень
    ИЗ
        Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.ДатаДень,
    ВложенныйЗапрос.Цена
14 m1_1976
 
26.11.14
15:07
плиз... толкните чуть сильнее...
чувствую что рядом. своих не хвататет мозгулек... :(
15 Salimbek
 
26.11.14
15:11
Выбрать Т1.Н, Т2.Ц из
(Выбрать Н, Максимум(П) из Таблица Сгруппировать по Н) как Т1
Левое Соединение Таблица как Т2 ПО Т1.Н=Т2.Н и Т1.П=Т2.П
16 m1_1976
 
26.11.14
15:12
(15) - пробую...
17 dk
 
26.11.14
15:13

ВЫБРАТЬ РАЗЛИЧНЫЕ
    Товары.УИД КАК УИД
    , Кат2.Цена Цена
ИЗ
    РегистрСведений.КатегорииНоменклатурыПлан.СрезПоследних(КОНЕЦПЕРИОДА(&ТекДата, ДЕНЬ), (Магазин = &Магазин) И (КатегорияНоменклатуры IN (&СписокКатегорий))) КАК Кат2
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
(ВЫБРАТЬ
    МАКСИМУМ(Кат1.Период) ПЕРИОД,
    Кат1.Номенклатура  Номенклатура
ИЗ
    РегистрСведений.КатегорииНоменклатурыПлан.СрезПоследних(КОНЕЦПЕРИОДА(&ТекДата, ДЕНЬ), (Магазин = &Магазин)) КАК Кат1
ГДЕ
    (Кат1.Актуальность)
    AND (КОНЕЦПЕРИОДА(Кат1.ДатаОкончания) >= КОНЕЦПЕРИОДА(&ТекДата, ДЕНЬ))
GROUP BY
    Кат1.Номенклатура
) Влож ПО (Влож.Период = Кат2.Период) И (Влож.Номенклатура = Кат2.Номенклатура)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    Справочник.Номенклатура КАК Товары ПО (Товары.Ссылка = Кат2.Номенклатура)
ГДЕ
    Кат2.Актуальность
18 m1_1976
 
26.11.14
15:17
(17) нет у меня регистра сведений...
19 dk
 
26.11.14
15:25
тебе дали образец, если не можешь составить запрос по аналогии, то это твои проблемы
20 antoneus
 
26.11.14
15:26
так вроде

ВЫБРАТЬ
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Цена
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            МАКСИМУМ(ВложенныйЗапрос.ДатаДень) КАК ДатаДень,
            ВложенныйЗапрос.Номенклатура КАК Номенклатура
        ИЗ
            (ВЫБРАТЬ РАЗЛИЧНЫЕ
                ПоступлениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
                ПоступлениеТоваровУслугТовары.Цена КАК Цена,
                НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) КАК ДатаДень
            ИЗ
                Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары) КАК ВложенныйЗапрос
        
        СГРУППИРОВАТЬ ПО
            ВложенныйЗапрос.Номенклатура) КАК ВложенныйЗапрос
        ПО ПоступлениеТоваровУслугТовары.Номенклатура = ВложенныйЗапрос.Номенклатура
            И (НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) = ВложенныйЗапрос.ДатаДень)
21 m1_1976
 
26.11.14
15:31
(20) - ЦЕЛОВАЮ во все места... ОНО!...
22 m1_1976
 
26.11.14
15:31
даты правда нет - но она особо и не нужна...
23 Maniac
 
26.11.14
15:34
Все ваши запросы - просто ошизеть можно, будет выгрубать все табличные части приходных накладных за весь период - это пипец просто.
24 m1_1976
 
26.11.14
15:35
нет.. не из табличных частей... это был просто пример. Чтобы проще объяснить...
Таблица у меня рассчитана другим запросом. Она к сабжу - отношения не имеет
25 Maniac
 
26.11.14
15:35
ты хотя бы поставь ограничение какое то. ну пара месяцев, ну три, полгода.
26 Maniac
 
26.11.14
15:37
по идее надо чтобы первая таблица была справочником номенклатуры.

а не

ВЫБРАТЬ
    ПоступлениеТоваровУслугТовары.Номенклатура,
    ПоступлениеТоваровУслугТовары.Цена
ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
27 Maniac
 
26.11.14
15:38
и уже к ней соединять
28 m1_1976
 
26.11.14
15:39
(27) - я как раз и запутался в том, что с чем соединять. (20) - как раз ту самую аналогию и показал где я мажу.
Спс
2 + 2 = 3.9999999999999999999999999999999...