Имя: Пароль:
1C
 
УТ 11, условие в запросе для выбора номенклатуры без цены
0 vse_serjezno
 
31.10.14
10:17
Утро доброе.

Мне нужно выбрать только ту номенклатуру и ту характеристику, для которой не задана цена в регистре сведений.
Пробую так:

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

СГРУППИРОВАТЬ ПО
    ХарактеристикиНоменклатуры.Ссылка,
    ХарактеристикиНоменклатуры.Владелец

УПОРЯДОЧИТЬ ПО
    Товар,
    Характеристика

Во-первых, выдает всю номенклатуру по условию ВидНоменклатуры = &ВидНоменклатурыСразмером хотя цена у них у всех заполнена.
Во-вторых, условие ХарактеристикиНоменклатуры.Владелец ССЫЛКА Справочник.Номенклатура не выполняется, выводятся данные и не из справочника Номенклатура.

Подскажите, пожалуйста, в чем может быть проблема и как ее решить?
1 vse_serjezno
 
31.10.14
10:26
Перенесла условия следующим образом, все заработало

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

СГРУППИРОВАТЬ ПО
    ХарактеристикиНоменклатуры.Ссылка,
    ХарактеристикиНоменклатуры.Владелец

УПОРЯДОЧИТЬ ПО
    Товар,
    Характеристика

Странно, я думала, что приоритет у тех условий, что в запросе выше находятся и если есть возможность, то лучше ставить их туда. :/
Век живи век учись...
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн