Имя: Пароль:
1C
1С v8
две строки объединить в одну
0 leobrn
 
26.10.16
09:21
Подскажите, как правильно сформировать запрос, чтобы была одна строка (план и факт были во одной строке).

У меня План по регистратору Документ.ЗаказНаПроизводство, а факт по Документ.СборкаЗапасов.

Пробовал так

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

СГРУППИРОВАТЬ ПО
    ЗаказНаПроизводствоРесурсыПредприятия.РесурсПредприятия,
    ЗаказНаПроизводствоРесурсыПредприятия.Номенклатура,
    ВыпускПродукции.Спецификация,
    ВыпускПродукции.Характеристика,
    ВыпускПродукции.Партия,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ВыпускПродукции.Регистратор) = ТИП(Документ.ЗаказНаПроизводство)
            ТОГДА ВыпускПродукции.КоличествоПлан
    КОНЕЦ,
    ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ВыпускПродукции.Регистратор) = ТИП(Документ.СборкаЗапасов)
            ТОГДА ВыпускПродукции.Количество
    КОНЕЦ,
    ЗаказНаПроизводствоРесурсыПредприятия.Ссылка.ЗаказПокупателя
1 Naf_kultura
 
26.10.16
09:25
ВЫБРАТЬ
    ЗаказНаПроизводствоРесурсыПредприятия.РесурсПредприятия КАК РесурсПредприятия,
    ЗаказНаПроизводствоРесурсыПредприятия.Номенклатура КАК Номенклатура,
    ВыпускПродукции.Спецификация КАК Спецификация,
    ВыпускПродукции.Характеристика КАК Характеристика,
    ВыпускПродукции.Партия КАК Партия,
    СУММА(ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ВыпускПродукции.Регистратор) = ТИП(Документ.ЗаказНаПроизводство)
            ТОГДА ВыпускПродукции.КоличествоПлан
    КОНЕЦ) КАК План,
    СУММА(ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ВыпускПродукции.Регистратор) = ТИП(Документ.СборкаЗапасов)
            ТОГДА ВыпускПродукции.Количество
    КОНЕЦ) КАК Факт,
    ЗаказНаПроизводствоРесурсыПредприятия.Ссылка.ЗаказПокупателя КАК ЗаказПокупателя
ИЗ
    РегистрНакопления.ВыпускПродукции КАК ВыпускПродукции
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство.РесурсыПредприятия КАК ЗаказНаПроизводствоРесурсыПредприятия
        ПО (ВыпускПродукции.Номенклатура = ЗаказНаПроизводствоРесурсыПредприятия.Номенклатура)
            И (ВыпускПродукции.ЗаказПокупателя = ЗаказНаПроизводствоРесурсыПредприятия.Ссылка.ЗаказПокупателя)
ГДЕ
    ВыпускПродукции.Период МЕЖДУ &Период И &Период1
    И ЗаказНаПроизводствоРесурсыПредприятия.РесурсПредприятия = &РесурсПредприятия

СГРУППИРОВАТЬ ПО
    ЗаказНаПроизводствоРесурсыПредприятия.РесурсПредприятия,
    ЗаказНаПроизводствоРесурсыПредприятия.Номенклатура,
    ВыпускПродукции.Спецификация,
    ВыпускПродукции.Характеристика,
    ВыпускПродукции.Партия,    ЗаказНаПроизводствоРесурсыПредприятия.Ссылка.ЗаказПокупателя
2 Лефмихалыч
 
26.10.16
09:25
(0) сначала объединение двух запросов, потом выбрать из этого объединения

ВЫБРАТЬ Т.Аналитика, Т.План, 0 как Фак
ПОМЕСТИТЬ Объединение
ИЗ Т
ОБЪЕДЕНИТЬ ВСЕ
ВЫБРАТЬ Т.Аналитика, 0, Т.Факт
;
ВЫБРАТЬ О.Аналитика, Сумма(О.План), Сумма(О.Факт)
ИЗ Объединение КАК О
СГРУППИРОВАТЬ ПО О.Аналитика
3 aleks_default
 
26.10.16
09:27
СУММА(ВЫБОР
        КОГДА ТИПЗНАЧЕНИЯ(ВыпускПродукции.Регистратор) = ТИП(Документ.ЗаказНаПроизводство)
            ТОГДА ВыпускПродукции.КоличествоПлан ИНАЧЕ 0
    КОНЕЦ) КАК План,
4 Лефмихалыч
 
26.10.16
09:27
да или прямо из своей простыни и выбирай без объединений, итоговый результат такой же будет, только из твоей простыни почтинаверняка дольше будет выбирать, чем из объединения. Потому, что CASE - это очень часто медленнее, чем без CASE.
Основная теорема систематики: Новые системы плодят новые проблемы.