Имя: Пароль:
1C
 
Ошибка в формировании отчета СКД
0 NIGHTHUNTER
 
01.09.22
11:22
В отчете СКД, по некоторым документам выводятся строки по каждой строке табличной части.
Нужно их сгруппировать. Подскажите как это правильно сделать?
Я попробовал сгруппировать в СКД, http://joxi.ru/BA0qa4Ni13pPJr .
Но вышла ошибка "Совместная группировка по периодам с другими выражениями запрещена" .
В скд такой запрос. Группирует все по дурацки. Изначально были группировки, вложенные друг в друга.
Контрагент, договор, детальные записи. Выдавались строки по всем строкам документа. Их нужно суммировать.



ВЫБРАТЬ
    ХозрасчетныйОстатки.Субконто1 КАК Контрагент,
    ХозрасчетныйОстатки.Субконто2 КАК Договор,
    ХозрасчетныйОстатки.СуммаОстатокДт КАК СуммаЗадолженности,
    ХозрасчетныйОстатки.Счет КАК Счет
ПОМЕСТИТЬ ВТ_Долг
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(
            {(&Дата2)},
            ,
            ,
            Субконто1 ССЫЛКА Справочник.Контрагенты
                И Субконто2 ССЫЛКА Справочник.ДоговорыКонтрагентов) КАК ХозрасчетныйОстатки

ИНДЕКСИРОВАТЬ ПО
    Счет,
    Контрагент,
    Договор
;

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

ИНДЕКСИРОВАТЬ ПО
    Счет,
    Контрагент,
    Договор,
    Период,
    Номер
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    а.Счет КАК Счет,
    а.Контрагент КАК Контрагент,
    а.Договор КАК Договор,
    а.Период КАК Период,
    а.Регистратор КАК Регистратор,
    а.Сумма КАК Сумма,
    а.СуммаЗадолженности КАК СуммаЗадолженности,
    СУММА(ВЫБОР
            КОГДА а.Период > ДокументыПосле.Период
                ТОГДА 0
            КОГДА а.Период = ДокументыПосле.Период
                    И а.Номер >= ДокументыПосле.Номер
                ТОГДА 0
            ИНАЧЕ ДокументыПосле.Сумма
        КОНЕЦ) КАК СуммаПосле,
    а.Номер КАК Номер
ПОМЕСТИТЬ ВТ_Попорядку
ИЗ
    ВТ_Документы КАК а
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Документы КАК ДокументыПосле
        ПО а.Счет = ДокументыПосле.Счет
            И а.Контрагент = ДокументыПосле.Контрагент
            И а.Договор = ДокументыПосле.Договор

СГРУППИРОВАТЬ ПО
    а.Контрагент,
    а.Договор,
    а.Регистратор,
    а.Сумма,
    а.СуммаЗадолженности,
    а.Счет,
    а.Период,
    а.Номер
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Попорядку.Счет КАК Счет,
    ВТ_Попорядку.Период КАК Период,
    ВТ_Попорядку.Регистратор КАК Регистратор,
    ВТ_Попорядку.СуммаЗадолженности КАК СуммаЗадолженности,
    ВЫБОР
        КОГДА ВТ_Попорядку.СуммаЗадолженности - ВТ_Попорядку.СуммаПосле <= 0
            ТОГДА 0
        ИНАЧЕ ВЫБОР
                КОГДА ВТ_Попорядку.Сумма <= ВТ_Попорядку.СуммаЗадолженности - ВТ_Попорядку.СуммаПосле
                    ТОГДА ВТ_Попорядку.Сумма
                ИНАЧЕ ВТ_Попорядку.СуммаЗадолженности - ВТ_Попорядку.СуммаПосле
            КОНЕЦ
    КОНЕЦ КАК ЗадолженностьПоДокументу,
    Контрагенты.Ссылка КАК Контрагент,
    ДоговорыКонтрагентов.Ссылка КАК Договор,
    Контрагенты.ИНН КАК ИНН,
    ДоговорыКонтрагентов.ХХХ_РеестрСудов КАК РеестрСудов,
    ДоговорыКонтрагентов.ХХХ_РеестрПретензий КАК РеестрПретензий,
    ДоговорыКонтрагентов.ХХХ_ПримечаниеЮристов КАК ПримечаниеЮристов,
    ДоговорыКонтрагентов.ХХХ_ПримечаниеБухгалтерии КАК ПримечаниеБухгалтерии,
    ВЫБОР
        КОГДА РАЗНОСТЬДАТ(ВТ_Попорядку.Регистратор.Дата, &Дата2, ДЕНЬ) > 30
            ТОГДА "Просрочено"
    КОНЕЦ КАК Просрочено
ИЗ
    ВТ_Попорядку КАК ВТ_Попорядку
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
        ПО ВТ_Попорядку.Контрагент = Контрагенты.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
        ПО ВТ_Попорядку.Контрагент = ДоговорыКонтрагентов.Контрагент
            И ВТ_Попорядку.Договор = ДоговорыКонтрагентов.Ссылка
ГДЕ
    ВЫБОР
            КОГДА ВТ_Попорядку.СуммаЗадолженности - ВТ_Попорядку.СуммаПосле <= 0
                ТОГДА 0
            ИНАЧЕ ВЫБОР
                    КОГДА ВТ_Попорядку.Сумма <= ВТ_Попорядку.СуммаЗадолженности - ВТ_Попорядку.СуммаПосле
                        ТОГДА ВТ_Попорядку.Сумма
                    ИНАЧЕ ВТ_Попорядку.СуммаЗадолженности - ВТ_Попорядку.СуммаПосле
                КОНЕЦ
        КОНЕЦ > 0
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.