Имя: Пароль:
1C
1С v8
Получить пустые значения
0 G751
 
24.09.21
13:19
Запрос не выдает отсутствующие значения Единиц Измерения
Подскажите что не так в тексте запроса

    ЗапросЦены = новый Запрос;
    ЗапросЦены.Текст = "ВЫБРАТЬ
    |    ЕдиницыИзмерения.Владелец КАК Номенклатура,
    |    ЕдиницыИзмерения.Ссылка КАК ЕдиницаИзмеренияНоменклатуры,
    |    ЕдиницыИзмерения.Коэффициент,
    |    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК ЦенаНоменклатуры
    |ИЗ
    |    Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ) КАК ЦеныНоменклатурыСрезПоследних
    |        ПО ЕдиницыИзмерения.Ссылка = ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
    |ГДЕ
    |    ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
    |    И ЕдиницыИзмерения.ПометкаУдаления = ЛОЖЬ
    |    И ЕдиницыИзмерения.Владелец В(&СписокНоменклатуры)
    |
    |УПОРЯДОЧИТЬ ПО
    |    ЕдиницыИзмерения.Владелец.Наименование";
    ЗапросЦены.УстановитьПараметр("НаДату", ТекущаяДата());
    ЗапросЦены.УстановитьПараметр("ТипЦен", Справочники.ТипыЦенНоменклатуры.НайтиПоКоду("000000002")); // Закупочная
    ЗапросЦены.УстановитьПараметр("СписокНоменклатуры", СписокОбработанныхТоваров);
1 Asmody
 
24.09.21
13:21
(0) от справочника Номенклатура плясать надо
2 Жан Пердежон
 
24.09.21
13:31
(0) всё так, как написано так и выдает
3 Жан Пердежон
 
24.09.21
13:33
хотя нет, отбор вместо параметра вирт.таблицы - за это можно уже пинать
4 shuhard
 
24.09.21
13:40
(0) и не выдаст, нет проверки на ЕСТЬNULL
5 Жан Пердежон
 
24.09.21
13:47
у него там внутреннее соединение по факту
6 Asmody
 
24.09.21
13:54
что такое "отсутствующие значения"?
7 PLUT
 
24.09.21
14:12
(0) перепиши запрос

сначала по номенклатуре выбери сцылки на единицы из цен номенклатуры на дату

затем получи сцылки на единицы по номенклатуре, которых нет (т.н. "отсутствующие значения")

Где НЕ ЕдИзм.Сцылка В (Выбрать ВТ_ЕдИзм.Сцылка из ВТ_ЕдИзмю)
8 Serg_1960
 
24.09.21
14:24
Закинь ГДЕ ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен - в параметры среза.
(офф) имхо, если закомментировать строку с ЕСТЬNULL, то получится "Запрос выдает отсутствующие значения"(с)
9 vicof
 
26.09.21
18:53
(5) +1
2 + 2 = 3.9999999999999999999999999999999...