Имя: Пароль:
1C
1С v8
Консоль запросов выдает странный результат
, ,
0 Omskdizel
 
07.07.17
16:45
Доброго дня!

В наличии УТ 10.3.40.1, 8.3.9.1818, консоль запросов штатная.
Есть запрос №1


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


Выдает следующее:
Номенклатура    НачОст    КонОст    НачалоПериода        Склад
товар            1    28.12.2016 0:00:00    склад
товар        1        27.03.2017 0:00:00    склад

Есть запрос №2 (без защиты от безумств пользователей)


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


Выдает следующее:
Номенклатура    НачОст    КонОст    НачалоПериода        Склад
товар            1,000    26.12.2016 0:00:00    склад
товар        1,000        15.02.2017 0:00:00    склад
товар            2,000    22.02.2017 0:00:00    склад
товар        2,000    3,000    28.02.2017 0:00:00    склад
товар        3,000    2,000    07.04.2017 0:00:00    склад
товар        2,000        21.04.2017 0:00:00    склад

Запросы выполнялись с абсолютно одинаковыми параметрами, в одной базе. Я (глупый) искренне верил, что результаты должны быть одинаковыми. Самое страшное для моего мозга то, что первый образец запроса работает так, как надо в обработке! (Да, правильный результат именно во второй таблице) Я уже даже консоль в отладку засунул, думал, может она чего от себя, от души добавляет. Но нет, там все буква в букву передается. Подскажите, что за прикол такой может быть?

Для любителей критики странных запросов сразу скажу, что это кусок запроса по подсчету дней в наличии, то есть это не абстракция...
1 Dvoe4nik
 
07.07.17
16:55
(0) а что не так тут?
2 Ёпрст
 
07.07.17
17:15
(0) прикол с параметрами. Другого не дано
3 Ёпрст
 
07.07.17
17:16
у тебя , даже периоды разные в обоих результатах.
4 Ёпрст
 
07.07.17
17:16
т.е вообще нет совпадений.
5 Ёпрст
 
07.07.17
17:18
соответственно, там или разная номенклатура или разные склады в параметрах виртуальной таблички
Или, одна из черепашек врёт
6 Omskdizel
 
07.07.17
17:20
Ребята, ну неужели я бы стал тут распинаться и отвлекать вас, если бы параметры были разные? Одна номенклатурина в отборе, один склад, периоды одинаковые.
7 aleks_default
 
07.07.17
17:22
Остатки персчитай
8 Omskdizel
 
07.07.17
17:23
(1) Тут не так то, что запросы по сути одинаковые. Добавлена только проверка на случай появления отрицательных остатков. Но результаты разные.
Также парит мозг то, что в даты первого результата не было движений вообще, а они как-то попались...
9 aleks_default
 
07.07.17
17:23
(7)+ в любой непонятной ситуации :)
10 Omskdizel
 
07.07.17
17:23
(7) Да, мысль, запущу на ночь.
11 Господин ПЖ
 
07.07.17
17:24
>Одна номенклатурина в отборе, один склад, периоды одинаковые.

ой не лги, царю лжешь
12 Omskdizel
 
07.07.17
17:28
(11) Товарищ Господин ПЖ, вам что же, скриншот предоставить? Коллеге не верите :)
13 Franchiser
 
гуру
07.07.17
17:34
Зачем тут проверять на Null?
14 Любопытная
 
07.07.17
17:34
(12) Давай скриншоты.
Как известно "Все врут" (С)
15 Numerus Mikhail
 
07.07.17
17:36
(12) Сразу видео, чтоб точно быть уверенными)
16 Omskdizel
 
08.07.17
07:35
(13) Это от безысходности :) Я уже не знал, чего попробовать, чтобы заработало :) Изначально без ЕСТЬNULL было.
(14) Скриншоты не смогут доказать, только если видео :)
(15) Ну попробую, ни разу не делал видео, забавно будет :)
17 Omskdizel
 
08.07.17
08:07
(7) Не помогло
18 Otark
 
08.07.17
08:14
Буквально вчера было, выполняю запрос в консоли, результат пустой. Провозился полчаса, Похожие запросы к этой таблице выдают ожидаемый результат, этот ноль. Совершенно случайно скопировал текст запроса в новый запрос, запустил, он вернул ожидаемый результат. Че это было ниxрена не понял.
19 h-sp
 
08.07.17
08:21
(17) попробуй еще поэкспериментировать, например, и те и те остатки включи в запрос, типа НачОст и НачОст1. Или добавь поля Приход, Расход
20 mistеr
 
08.07.17
10:03
(17) Берешь запрос №2 и меняешь в нем ровно по одной строчке за раз, пока не придешь к запросу №1. Находишь, какое именно изменение меняет результат.

Ну и текст скопируй в чистую консоль, на всякий случай.
21 Omskdizel
 
08.07.17
14:56
В общем все перезагрузил, благо, на выходных сервак никому не надо, и все заработало, как ни странно. Где-то я согрешил...