Имя: Пароль:
1C
1С v8
Помогите с запросом
0 moneyget
 
24.12.15
15:39
Есть запрос, но он выводит только то что есть на остатках, а надо чтобы выводил и то чего нет на остатках.

Заранее спасибо.

Сам запрос:

ВЫБРАТЬ
    ОстаткиТоваровКомпанииОстатки.Номенклатура,
    ОстаткиТоваровКомпанииОстатки.Номенклатура.Код КАК Код,
    ОстаткиТоваровКомпанииОстатки.Номенклатура.Наименование КАК Наименование,     
        ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток, 1) КАК Остаток1,
    Цены1.Цена КАК Опт,
    Цены1.Цена КАК Розница,
    ОстаткиТоваровКомпанииОстатки.Номенклатура.Производитель КАК Производитель,
    ОстаткиТоваровКомпанииОстатки.Номенклатура.КодДляПоиска КАК КодДляПоиска,
    ОстаткиТоваровКомпанииОстатки.Номенклатура.ОригинальныйНомер КАК ОригинальныйНомер,
    ОстаткиТоваровКомпанииОстатки.Номенклатура.Артикул КАК НомерПоКаталогу,
    ОстаткиТоваровКомпанииОстатки.СкладКомпании,
    ОстаткиТоваровКомпанииОстатки.РезервОстаток,
    ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток, 1) - ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.РезервОстаток, 0) КАК Остаток
ИЗ
    РегистрНакопления.ОстаткиТоваровКомпании.Остатки({(&ДатаОтчета)}, {(СкладКомпании)}) КАК ОстаткиТоваровКомпанииОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних({(&ДатаОтчета)}, ТипЦен = &ТипЦен1) КАК Цены1
        ПО ОстаткиТоваровКомпанииОстатки.Номенклатура = Цены1.Номенклатура
            И ОстаткиТоваровКомпанииОстатки.ХарактеристикаНоменклатуры = Цены1.ХарактеристикаНоменклатуры
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних({(&ДатаОтчета)}, ТипЦен = &ТипЦен2) КАК Цены2
        ПО ОстаткиТоваровКомпанииОстатки.Номенклатура = Цены2.Номенклатура
            И ОстаткиТоваровКомпанииОстатки.ХарактеристикаНоменклатуры = Цены2.ХарактеристикаНоменклатуры
ГДЕ
    НЕ ОстаткиТоваровКомпанииОстатки.Номенклатура.НеВыгружатьНаСайт

СГРУППИРОВАТЬ ПО
    ОстаткиТоваровКомпанииОстатки.Номенклатура,
    Цены1.Цена,
    Цены2.Цена,
    ОстаткиТоваровКомпанииОстатки.Номенклатура.Производитель,
    ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток, 1),
    ОстаткиТоваровКомпанииОстатки.СкладКомпании,
    ОстаткиТоваровКомпанииОстатки.Номенклатура.Код,
    ОстаткиТоваровКомпанииОстатки.Номенклатура.Наименование,
    ВЫРАЗИТЬ(ОстаткиТоваровКомпанииОстатки.Номенклатура.НаименованиеПолное КАК СТРОКА(512)),
    ОстаткиТоваровКомпанииОстатки.Номенклатура.КодДляПоиска,
    ОстаткиТоваровКомпанииОстатки.Номенклатура.ОригинальныйНомер,
    ОстаткиТоваровКомпанииОстатки.Номенклатура.Артикул,
    ОстаткиТоваровКомпанииОстатки.РезервОстаток,
    ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток, 1) - ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.РезервОстаток, 0),
    Цены1.Цена
1 Лефмихалыч
 
24.12.15
15:40
левое соединение со справочником добавь
2 moneyget
 
24.12.15
15:40
куда?
3 Лефмихалыч
 
24.12.15
15:42
(2) ты поставил меня в тупик этим вопросом. Ну, в запрос же, наверное!
Тебе надо получить в выборке даже те товары, у которых нет остатков, так? Вот и выбирай из номенклатуры, а потом к ней левым соединением пристёгивай вот это вот рогатое чудище, которое у тебя в топике
4 Живой Ископаемый
 
24.12.15
15:42
регистра со спраовчником - правое, вроде... правда потом все  равно конструктор на левое переделает
5 denis_jj
 
24.12.15
15:43
Варианта два:
1. Выборка из справочника и к нему левое соединение остатков
2. Объединение этого запроса с запросом в справочник