Имя: Пароль:
1C
1С v8
Помогите с запросом
0 t2013
 
19.03.14
13:20
Есть запрос
--
ВЫБРАТЬ
    ПродажиОбороты.Регистратор,
    ПродажиОбороты.ЗаказПокупателя,
    ПродажиОбороты.Контрагент,
    ПродажиОбороты.КоличествоОборот КАК КоличествоРеализация,
    СУММА(ПродажиОбороты.КоличествоОборот * ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Вес) КАК ВесРеализация,
    ЗаказыПокупателейОбороты.КоличествоПриход КАК КоличествоЗаказ,
    СУММА(ЗаказыПокупателейОбороты.КоличествоОборот * ЗаказыПокупателейОбороты.Номенклатура.ЕдиницаХраненияОстатков.Вес) КАК ВесЗаказ,
    ЗаказыПокупателейОбороты.Номенклатура КАК НоменклатураЗаказа
ИЗ
    РегистрНакопления.ЗаказыПокупателей.Обороты(, , Авто, ) КАК ЗаказыПокупателейОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(, , Авто, ) КАК ПродажиОбороты
        ПО (ПродажиОбороты.ЗаказПокупателя = ЗаказыПокупателейОбороты.ЗаказПокупателя)
            И ЗаказыПокупателейОбороты.Номенклатура = ПродажиОбороты.Номенклатура
ГДЕ
    ЗаказыПокупателейОбороты.Регистратор ССЫЛКА Документ.ЗаказПокупателя

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Регистратор,
    ПродажиОбороты.ЗаказПокупателя,
    ПродажиОбороты.КоличествоОборот,
    ЗаказыПокупателейОбороты.КоличествоПриход,
    ЗаказыПокупателейОбороты.КоличествоРасход,
    ПродажиОбороты.Контрагент,
    ЗаказыПокупателейОбороты.Номенклатура


--
Как сделать так чтобы в запрос попадали те строки с номенклатурой из Заказа Покупателя, которой нет в Реализации? Если убать связь по номенклатуре выборка совсем не корректная
1 shuhard
 
19.03.14
13:21
(0) есть NULL
2 t2013
 
19.03.14
13:28
сделал так, результат тотже


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

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Регистратор,
    ПродажиОбороты.ЗаказПокупателя,
    ЗаказыПокупателейОбороты.КоличествоРасход,
    ПродажиОбороты.Контрагент,
    ЗаказыПокупателейОбороты.Номенклатура,
    ЕСТЬNULL(ЗаказыПокупателейОбороты.КоличествоПриход, 0),
    ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0)
3 Enders
 
19.03.14
13:31
Где
ПродажиОбороты.Номенклатура Есть NULL...
4 13_Mult
 
19.03.14
13:33
Если я все правильно понял, то может в соединении по номенклатуре <> поставить
и внутреннее соединение
5 t2013
 
19.03.14
13:41
(3) не понял где это условие поставить?
(4) Есть Заказ, есть Реализация нужно из нужно сравнить чтобы рассчитать недовоз.
Т.е. Если в заказе1 номенклатура1 = 20 шт, в реализации1 номенклатура1 15 шт. недовоз 5. Когда в заказе2 номенклатура1 = 30, а в реализации ее вообще нет, то строка в выборку не попадает
6 t2013
 
19.03.14
15:27
есть еще варианты?
AdBlock убивает бесплатный контент. 1Сергей