Имя: Пароль:
1C
 
Помогите разобраться с запросом в СКД
0 Обфускация
 
20.06.18
09:23
Есть 2 запроса. Один связывает номенклатуру с остатками, второй с остатками и ценами. В первом случае выводится вся номенклатура, в том числе та, по которой нет остатков, во втором только та, где есть цены или остаток. Как второй вариант доделать, чтобы выводились строки где нет цен и остатка?
Вариант 1
ВЫБРАТЬ
    ОстаткиНоменклатурыОстатки.КоличествоОстаток,
    ном.Ссылка КАК Номенклатура,
    ном.Родитель,
    ОстаткиНоменклатурыОстатки.Склад
ИЗ
    Справочник.Номенклатура КАК ном
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(&период, ) КАК ОстаткиНоменклатурыОстатки
        ПО ном.Ссылка = ОстаткиНоменклатурыОстатки.Номенклатура

Вариант 2

ВЫБРАТЬ
    ОстаткиНоменклатурыОстатки.КоличествоОстаток,
    ном.Ссылка КАК Номенклатура,
    ном.Родитель,
    ОстаткиНоменклатурыОстатки.Склад,
    ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
    Справочник.Номенклатура КАК ном
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(&период, ) КАК ОстаткиНоменклатурыОстатки
        ПО ном.Ссылка = ОстаткиНоменклатурыОстатки.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&период, ) КАК ЦеныНоменклатурыСрезПоследних
        ПО ном.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
1 SleepyHead
 
гуру
20.06.18
09:40
Я тебе вчера еще написал, как сделать. Результат первого запроса поместить во временную таблицу, во втором запросе выбрать номенклатуру, которая не попала во временную таблицу, и поместить ее во временную таблицу, добавить в нее такие же поля, как в первой таблице (нулевые). В третьем объединить две временные таблицы, это и будет результат запроса.
2 toypaul
 
гуру
20.06.18
10:00
ГДЕ
3 toypaul
 
гуру
20.06.18
10:00
ГДЕ ЕСТЬТГДД(ОстаткиНоменклатурыОстатки.КоличествоОстаток,0) = 0 И ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена,0) = 0
4 Ненавижу 1С
 
гуру
20.06.18
10:05
никак, у вас там отборы стоят или не весь запрос показываете