Имя: Пароль:
1C
1С v8
Отбор по виду документа в запросе
0 Melcor
 
22.04.14
12:02
Доброго дня. Поискал на форуме темы нашел способ решения, но он не работает. Подскажи пожалуйста как можно выводить только документы поступления.
С таким условием ничего не выходит:
        ВЫБРАТЬ
            ЗакупкиОбороты.Номенклатура,
            СУММА(ЗакупкиОбороты.КоличествоОборот) КАК КоличествоОборот,
           МАКСИМУМ(ЗакупкиОбороты.Период) КАК Период
            ПОМЕСТИТЬ ПерваяЗакупка
        ИЗ
            РегистрНакопления.Закупки.Обороты(, , Регистратор, ) КАК ЗакупкиОбороты
        ГДЕ
            ЗакупкиОбороты.Номенклатура = &СписокНоменклатуры
        СГРУППИРОВАТЬ ПО
            ЗакупкиОбороты.Номенклатура
           ;
        ВЫБРАТЬ
           ПерваяЗакупка.Номенклатура,
           МАКСИМУМ(ЗакупкиОбороты.Регистратор) КАК ДокументПоступления
        ИЗ
              РегистрНакопления.Закупки.Обороты(, , Регистратор, ) КАК ЗакупкиОбороты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПерваяЗакупка КАК ПерваяЗакупка
        ПО ЗакупкиОбороты.Период = ПерваяЗакупка.Период
        И ЗакупкиОбороты.Номенклатура = ПерваяЗакупка.Номенклатура
        ГДЕ ЗакупкиОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
        СГРУППИРОВАТЬ ПО
           ПерваяЗакупка.Номенклатура
1 Wobland
 
22.04.14
12:02
ссылка. следующий
2 Ёпрст
 
22.04.14
12:05
И занафига там второй запрос ? Чего в первом не судьба была сразу условие на вид дока воткнуть ?!
3 Melcor
 
22.04.14
12:05
(1) Не совсем понял
4 Ёпрст
 
22.04.14
12:11
(0) у тебя в первом запросе максимум (период) вовсе не означает, что он сформирован документом ПоступлениеТоваровУслуг => второй запрос нихрена не возвращает при иннер джоин по этому полю.
5 Melcor
 
22.04.14
12:11
Понял, сделал проще. Так всё работает

        ВЫБРАТЬ
    ВложенныйЗапрос.Номенклатура,
    МАКСИМУМ(ТоварыНаСкладах.Регистратор) КАК Регистратор
ИЗ
    (ВЫБРАТЬ
        ТоварыНаСкладах.Номенклатура КАК Номенклатура,
        МАКСИМУМ(ТоварыНаСкладах.Период) КАК Период
    ИЗ
        РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
    ГДЕ
        ТоварыНаСкладах.Период <= &ДатаОтчета И (ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг) И (ТоварыНаСкладах.Номенклатура = &Ном)
    СГРУППИРОВАТЬ ПО
        ТоварыНаСкладах.Номенклатура
    ) КАК ВложенныйЗапрос
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ
        РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
    ПО
        ВложенныйЗапрос.Номенклатура = ТоварыНаСкладах.Номенклатура И ВложенныйЗапрос.Период = ТоварыНаСкладах.Период
ГДЕ
    (ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг)
СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Номенклатура
6 Ёпрст
 
22.04.14
12:12
если чо, условие на  ГДЕ ЗакупкиОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг воткни в первый заапрос в пакете
7 Melcor
 
22.04.14
12:14
(6) Понял ошибку, спасибо