Имя: Пароль:
1C
 
Формирование отчета на СКД период месяц
0 maptbln
 
12.09.18
14:11
Всем добрый день
формирую отчёт на скд из регистра бухгалтерии , в периоде указал месяц,использую это поле как колонки таблицы в выводе отчёта
но незадача,при выводе отчёта за период равный месяцу - данные отображаются верно,если взять больший период , то выходят дополнительные суммы
как правильно в данном случае поступить,чтоб за каждый месяц выводились нужные данные

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

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

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОбороты.КорСчет,
    ХозрасчетныйОбороты.Субконто1,
    ВЫБОР
        КОГДА ХозрасчетныйОбороты.КорСчет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновноеПроизводство)
            ТОГДА ХозрасчетныйОбороты.КорСубконто1
        ИНАЧЕ ""
    КОНЕЦ
;

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

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

СГРУППИРОВАТЬ ПО
    Счета.КорСчет,
    ХозрасчетныйОстаткиИОбороты.Период,
    ВЫБОР
        КОГДА Счета.КорСчет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновноеПроизводство)
            ТОГДА Счета.Подразделение
        ИНАЧЕ ВЫБОР
                КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1.Родитель.Родитель.Родитель.Родитель В (&ФиО)
                    ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто1.Родитель.Родитель.Родитель.Родитель
                ИНАЧЕ ВЫБОР
                        КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1.Родитель.Родитель.Родитель В (&ФиО)
                            ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто1.Родитель.Родитель.Родитель
                        ИНАЧЕ ВЫБОР
                                КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1.Родитель.Родитель В (&ФиО)
                                    ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто1.Родитель.Родитель
                                ИНАЧЕ ВЫБОР
                                        КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1.Родитель В (&ФиО)
                                            ТОГДА ХозрасчетныйОстаткиИОбороты.Субконто1.Родитель
                                    КОНЕЦ
                            КОНЕЦ
                    КОНЕЦ
            КОНЕЦ
    КОНЕЦ,
    ХозрасчетныйОстаткиИОбороты.Субконто1
1 maptbln
 
12.09.18
14:49
Ребят,ну в самом деле)
2 dmt
 
12.09.18
15:24
Незадача-то в чем, какие суммы?
3 s03
 
12.09.18
16:00
(0) в первой временной таблице запроса ты указываешь периодичность месяц, но сам период не получаешь, а зачем так?
Программист всегда исправляет последнюю ошибку.