Имя: Пароль:
1C
1С v8
Вложенный запрос в условии таблицы регистра остатков
0 sukhano11
 
28.12.16
11:17
Здравствуйте, господа волшебники.

В Рознице в модуле ПроведениеСервер есть такой запрос:

ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстатки.Характеристика КАК Характеристика,
    ТоварыНаСкладахОстатки.Склад КАК Склад,
    ТоварыНаСкладахОстатки.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ТоварыНаСкладахОстатки.КоличествоОстаток,
    ТоварыНаСкладахОстатки.РезервОстаток,
    ТоварыНаСкладахОстатки.КоличествоОстаток - ТоварыНаСкладахОстатки.РезервОстаток  КАК Количество
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(
            ,
            (Номенклатура, Характеристика, Склад) В
                (ВЫБРАТЬ
                    Таблица.Номенклатура,
                    Таблица.Характеристика,
                    Таблица.Склад
                ИЗ
                    ДвиженияТоварыНаСкладахИзменение КАК Таблица)) КАК ТоварыНаСкладахОстатки
ГДЕ
    ТоварыНаСкладахОстатки.КоличествоОстаток - ТоварыНаСкладахОстатки.РезервОстаток < 0

ДвиженияТоварыНаСкладахИзменение подсовывается из менеджера временных таблиц. В ней содержится известно какой склад, какая номенклатураи характеристики.
В результате выполнения запроса получается таблица, которая выглядит абсолютно мирно, пока я не пробую воспроизвести это в консоли запросов.

Я модифицирую запрос так:

ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстатки.Характеристика КАК Характеристика,
    ТоварыНаСкладахОстатки.Склад КАК Склад,
    ТоварыНаСкладахОстатки.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ТоварыНаСкладахОстатки.КоличествоОстаток,
    ТоварыНаСкладахОстатки.РезервОстаток,
    ТоварыНаСкладахОстатки.КоличествоОстаток - ТоварыНаСкладахОстатки.РезервОстаток  КАК Количество
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(
            ,
            Склад = &Склад) КАК ТоварыНаСкладахОстатки
ГДЕ
    ТоварыНаСкладахОстатки.КоличествоОстаток - ТоварыНаСкладахОстатки.РезервОстаток < 0

В результате я надеюсь увидеть ту же номенклатуру, что вываливается в первом запросе, плюс еще какую-то (поскольку никаких условий на номенклатуру не накладываю).
Однако, я вижу ДРУГУЮ номенклатуру.

Заменяю условие на склад на условие на номенклатуру, и- пусто выходит, ни на одном складе нету минусов.

Что за….?! Это случаем не платформа чудит? Никто не встречал такое?
1 live in sky dreams
 
28.12.16
11:21
>Однако, я вижу ДРУГУЮ номенклатуру.

А ты точно видишь другую номенклатуру, а не туже в другом порядке сортировки?
2 live in sky dreams
 
28.12.16
11:24
+ ты ограничиваешь выборку по конкретному складу, вот и видишь записи конкретно по этому складу + "плюс еще какую-то"
3 sukhano11
 
28.12.16
12:00
(1)

Точно другую.
4 sukhano11
 
28.12.16
12:02
(2)
Я вижу не "плюс еще какую-то", а "исключительно другую".
5 catena
 
28.12.16
12:06
А если по выбранным номенклатуре/складу вывести все движения и глазками сложить?
6 sukhano11
 
28.12.16
12:11
(5)
Движения? Выше про таблицы остатков. Намекаете, что итоги слетели? Допустим, только почему они по-разному слетели в запросе со вложенным запросом в условии и в запросе без такового?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс