Имя: Пароль:
1C
1С v8
Вопрос по запросу в Регистре накопления
0 jamesgold
 
13.04.15
10:54
Добрый день, прошу помочь!

Имеется следующий запрос:
ВЫБРАТЬ
    Продажи1Обороты.Номенклатура,
    Продажи1Обороты.ДокументПродажи,
    Продажи1Обороты.ВесОборот,
    Продажи1Обороты.СтоимостьОборот
ИЗ
    РегистрНакопления.Продажи1.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК Продажи1Обороты

Проблема в том что по некоторым регистраторам в поле ДокументПродажи  стоит 2 документа. Каким образом можно делать отбор записей чтобы данные брались только по последнему по дате Документе продажи, вот скрин:
http://s018.radikal.ru/i506/1504/10/96f68639161f.jpg
1 jamesgold
 
13.04.15
10:59
Нужно чтобы были записи только по 012 документу продажи, какое условие нужно добавить?
2 Cube
 
13.04.15
11:00
Как-то так:

ВЫБРАТЬ
    Продажи1Обороты.Номенклатура,
    Продажи1Обороты.ДокументПродажи,
    Продажи1Обороты.ВесОборот,
    Продажи1Обороты.СтоимостьОборот
ИЗ
    РегистрНакопления.Продажи1.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК Продажи1Обороты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            Продажи1Обороты.Номенклатура КАК Номенклатура,
            МАКСИМУМ(Продажи1Обороты.ДокументПродажи) КАК ДокументПродажи
        ИЗ
            РегистрНакопления.Продажи1.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК Продажи1Обороты
        
        СГРУППИРОВАТЬ ПО
            Продажи1Обороты.Номенклатура) КАК ВложенныйЗапрос
        ПО Продажи1Обороты.Номенклатура = ВложенныйЗапрос.Номенклатура
            И Продажи1Обороты.ДокументПродажи = ВложенныйЗапрос.ДокументПродажи
3 jamesgold
 
13.04.15
11:04
Делаю отбор по указанному регистратору, вообще данных не выводит (2)
4 jamesgold
 
13.04.15
11:05
Вот так пусто в результате:

ВЫБРАТЬ
    Продажи1Обороты.Номенклатура,
    Продажи1Обороты.ДокументПродажи,
    Продажи1Обороты.ВесОборот,
    Продажи1Обороты.СтоимостьОборот
ИЗ
    РегистрНакопления.Продажи1.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК Продажи1Обороты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            Продажи1Обороты.Номенклатура КАК Номенклатура,
            МАКСИМУМ(Продажи1Обороты.ДокументПродажи) КАК ДокументПродажи
        ИЗ
            РегистрНакопления.Продажи1.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК Продажи1Обороты
        
        СГРУППИРОВАТЬ ПО
            Продажи1Обороты.Номенклатура) КАК ВложенныйЗапрос
        ПО Продажи1Обороты.Номенклатура = ВложенныйЗапрос.Номенклатура
            И Продажи1Обороты.ДокументПродажи = ВложенныйЗапрос.ДокументПродажи
ГДЕ
    Продажи1Обороты.Регистратор = &Регистратор
5 Господин ПЖ
 
13.04.15
11:08
(4) кривой запрос
6 jamesgold
 
13.04.15
11:11
Выпрямить запрос поможите?
7 Сергиус
 
13.04.15
11:15
(6)Какие данные стоят в параметрах запроса: ДатаНач, ДатаКон, Регистратор
8 jamesgold
 
13.04.15
11:19
Даты стоят не перепутанные датанач 01.02.2015 и датакон 28.02.2015 а в регистраторе так и написано  -  регистратор
9 Сергиус
 
13.04.15
11:22
(8)ГДЕ
    Продажи1Обороты.Регистратор = &Регистратор

Вот этот параметр я имел ввиду.
10 jamesgold
 
13.04.15
11:23
Там стоит то что на скрине в первом столбце
11 Сергиус
 
13.04.15
11:28
(10)Попробуй тогда сделать выборку только из 2-го запроса, посмотри, что он выдает.

ВЫБРАТЬ
            Продажи1Обороты.Номенклатура КАК Номенклатура,
            МАКСИМУМ(Продажи1Обороты.ДокументПродажи) КАК ДокументПродажи
        ИЗ
            РегистрНакопления.Продажи1.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК Продажи1Обороты
        
        СГРУППИРОВАТЬ ПО
            Продажи1Обороты.Номенклатура
12 Господин ПЖ
 
13.04.15
11:30
(6) что выпрямлять? ты во вложенном находишь один регистратор по сути, а в "верхнем" фильтруем по другому
13 jamesgold
 
13.04.15
11:40
Вот при максимуме:
http://s018.radikal.ru/i514/1504/f2/3f751f0d5ab7.jpg
Вот при минимуме:
http://s004.radikal.ru/i206/1504/91/c5dbc5b78a19.jpg (11)
14 jamesgold
 
13.04.15
11:41
нужно чтобы только 12 остался так как он последний по дате
15 jamesgold
 
13.04.15
12:03
Ап
16 Сергиус
 
13.04.15
13:24
(14)Ну правильно, ты группируешь по номенклатуре, а она у тебя разная - в одном случае начинает с С102, а в другом С132.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший