8.х Запрос с условием

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Pentыch, 21 ноя 2013.

  1. TopicStarter Overlay
    Pentыch
    Offline

    Pentыch Опытный в 1С

    Регистрация:
    18 сен 2013
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте.

    Возникла проблема с отчетом. Для отчета из документа выбирает значения номенклатуры, характеристики, количество и так далее.
    Но так же. надо считать сумм (с учетом типы цены), и для этого к запросу соединением был привязан регистр сведений "цена номенклатуры.

    И к сути вопроса, в блоке ИЗ у меня такая вот конструкция:
    Код:
    |ИЗ
    | Документ.КорректировкаКачестваТоваров.Товары КАК КорректировкаКачестваТоваровТЧ
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследнихФикс
    | ПО КорректировкаКачестваТоваровТЧ.Номенклатура = ЦеныНоменклатурыСрезПоследнихФикс.Номенклатура
    |  И КорректировкаКачестваТоваровТЧ.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследнихФикс.ХарактеристикаНоменклатуры
    |  И ЦеныНоменклатурыСрезПоследнихФикс.ТипЦен = &ТипФикс
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследнихМатер
    | ПО КорректировкаКачестваТоваровТЧ.Номенклатура = ЦеныНоменклатурыСрезПоследнихМатер.Номенклатура
    |  И КорректировкаКачестваТоваровТЧ.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследнихМатер.ХарактеристикаНоменклатуры
    |  И ЦеныНоменклатурыСрезПоследнихМатер.ТипЦен = &ТипМатер
    |   ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК СпрФЗ
    | ПО КорректировкаКачестваТоваровТЧ.ФИОПроизведшегоБрак = СпрФЗ.Ссылка
    
    При выполнении запроса,номенклатуру, у которых нет Фиксированной цены материалозатрат, не выводит в отчет. т.е. количество номенклатуры в отчете меньше нежели в действительности.
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследнихФикс
    | ПО КорректировкаКачестваТоваровТЧ.Номенклатура = ЦеныНоменклатурыСрезПоследнихФикс.Номенклатура
    | И КорректировкаКачестваТоваровТЧ.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследнихФикс.ХарактеристикаНоменклатуры
    | И ЦеныНоменклатурыСрезПоследнихФикс.ТипЦен = &ТипФикс
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследнихМатер
    | ПО КорректировкаКачестваТоваровТЧ.Номенклатура = ЦеныНоменклатурыСрезПоследнихМатер.Номенклатура
    | И КорректировкаКачестваТоваровТЧ.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследнихМатер.ХарактеристикаНоменклатуры
    | И ЦеныНоменклатурыСрезПоследнихМатер.ТипЦен = &ТипМатер
    Думал что этим текстом в запросе, решу эту проблему, но - нет.

    PS. еще есть момент, что у меня идет выбор для цены (чтоб либо тот либо тот брал)
    Код:
     | (ВЫБОР
    |  КОГДА ЦеныНоменклатурыСрезПоследнихФикс.Цена ЕСТЬ NULL ТОГДА
    |   ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихМатер.Цена,0)
    |  ИНАЧЕ ЦеныНоменклатурыСрезПоследнихФикс.Цена
    | КОНЕЦ) КАК Цена,
    | (КорректировкаКачестваТоваровТЧ.Количество * 
    | (ВЫБОР
    |  КОГДА ЦеныНоменклатурыСрезПоследнихФикс.Цена ЕСТЬ NULL ТОГДА
    |   ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихМатер.Цена,0)
    |  ИНАЧЕ ЦеныНоменклатурыСрезПоследнихФикс.Цена
    | КОНЕЦ)) КАК СуммаЗатрат
    
    По этому и выбирал такие внутренние соединения
  2. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    почитайте про разницу между ВНУТРЕННИМ и ЛЕВЫМ соединением
  3. TopicStarter Overlay
    Pentыch
    Offline

    Pentыch Опытный в 1С

    Регистрация:
    18 сен 2013
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Спасибо большое за столь скорый ответ, и главное правильный. Действительно ошибка в этом, не уследил.

Поделиться этой страницей