Имя: Пароль:
1C
1С v8
СКД:Несколько вложенных запросов
0 Bob200555
 
22.08.13
15:50
ВЫБРАТЬ
    ПартииОстаткиИОбороты.МПЗ,
    НАЧАЛОПЕРИОДА(ПартииОстаткиИОбороты.ПериодДень, ДЕНЬ) КАК Период,
    ПартииОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,
    ПартииОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток,
    ПартииОстаткиИОбороты.Регистратор,
    ВложенныйЗапрос.КоличествоОстаток КАК НеЗаявки,
    ВложенныйЗапрос1.КоличествоОстаток КАК Брак,
    ВложенныйЗапрос2.Приход,
    ВложенныйЗапрос2.Расход
ИЗ
    РегистрНакопления.Партии.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , ) КАК ПартииОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаявкиОстатки.МПЗ КАК МПЗ,
            ЗаявкиОстатки.КоличествоОстаток КАК КоличествоОстаток
        ИЗ
            РегистрНакопления.Заявки.Остатки(&КонецПериода, ) КАК ЗаявкиОстатки) КАК ВложенныйЗапрос
        ПО ПартииОстаткиИОбороты.МПЗ = ВложенныйЗапрос.МПЗ
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПартииОстатки.МПЗ КАК МПЗ,
            ПартииОстатки.КоличествоОстаток КАК КоличествоОстаток
        ИЗ
            РегистрНакопления.Партии.Остатки(&КонецПериода, ) КАК ПартииОстатки
        ГДЕ
            ПартииОстатки.Качество = &Качество) КАК ВложенныйЗапрос1
        ПО ПартииОстаткиИОбороты.МПЗ = ВложенныйЗапрос1.МПЗ
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            Партии.МПЗ КАК МПЗ,
            НАЧАЛОПЕРИОДА(Партии.Период, ДЕНЬ) КАК Период,
            ВЫБОР
                КОГДА Партии.ВидДвижения = &Приход
                    ТОГДА Партии.Количество
                ИНАЧЕ 0
            КОНЕЦ КАК Приход,
            ВЫБОР
                КОГДА Партии.ВидДвижения = &Расход
                    ТОГДА Партии.Количество
                ИНАЧЕ 0
            КОНЕЦ КАК Расход,
            Партии.Регистратор КАК Регистратор
        ИЗ
            РегистрНакопления.Партии КАК Партии
        ГДЕ
            Партии.КодОпер <> &Код
            И Партии.Период МЕЖДУ &НачалоПериода И &КонецПериода) КАК ВложенныйЗапрос2
        ПО ПартииОстаткиИОбороты.МПЗ = ВложенныйЗапрос2.МПЗ
            И ПартииОстаткиИОбороты.Регистратор = ВложенныйЗапрос2.Регистратор

Отчет выводит таблицу в которой строки это дни, а колонки это МПЗ(в шапке колонок указываются остатки по заявкам и браку).
Отчет в принципе работает, но почему в некоторых строках остатки удваиваются. Уже всю голову сломал...
1 Bob200555
 
23.08.13
08:29
уп
2 Лодырь
 
23.08.13
08:51
Без измерений используемых регистров - не взлетит.
3 Bob200555
 
23.08.13
11:45
Чего то я на счет измерений не понял :(

Вот что выдает отчет:

http://yadi.sk/d/vfKjWjRD8EFzu

Движения правильно получаются, а вот остатки кое где кривые...
4 fly7
 
23.08.13
11:50
Прикольно! а как в шапке колонок выводятся данные? через макет?
5 Bob200555
 
23.08.13
11:53
(4) Нет просто остатки по заявкам и браку сгруппированы вместе с МПЗ и они не РЕСУРСЫ.
6 Bob200555
 
23.08.13
11:57
7 fly7
 
23.08.13
12:03
(6) Спс!
8 Bob200555
 
23.08.13
14:06
(6) Поменял местами строки и колонки - остатки корректно отображаются О_о.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший