Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 апр 2025, 10:56

Нужна помощь в создании отчета СКД

Автор Рашид Матниязов, 11 апр 2025, 18:37

0 Пользователей и 1 гость просматривают эту тему.

Рашид Матниязов

Доброе время суток. Нужна помощь или советы в создании отчета в СКД. Отчет о просроченных дебиторских задолженностях. Колонки:Контрагент, ИНН, Дата образования долга, Договор, Дебитовый остаток на начало, просроченный дебитовый долг на начало, Дебитовый остаток на конец,просроченный дебитовый долг на конец.   


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

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОбороты.Субконто1,
    ХозрасчетныйОбороты.Счет,
    ХозрасчетныйОбороты.Субконто2
;

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

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстатки.Счет,
    ХозрасчетныйОстатки.Субконто1,
    ХозрасчетныйОстатки.Субконто2,
    ХозрасчетныйОстатки.Субконто1.ИНН,
    ХозрасчетныйОстатки.Субконто1.ДПБУХ_МинистерствоВедомство
;

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

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

Во вложенном скрине я получил отчет. Но у меня большие сомнения, что он правильный.

sali

Цитата: Рашид Матниязов от 11 апр 2025, 18:37Но у меня большие сомнения,
а что вас смущает именно? данные есть и выходят

Максим75

Рашид Матниязов, смотрите, копаться в запросе не сильно хочется, сразу что бросается в глаза - у Вас может быть ситуация, когда не будут попадать в выборку некоторые клиенты, а именно те, у которых нет начального сальдо. Смотрите, начального сальдо нет, поэтому и левым соединением с конечным сальдо нечего связывать, ну и далее по тексту запроса и с оборотами нечего связывать.
думаю, что через объединение можно получить всех клиентов.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск