База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как создать отчет для поиска последнего документа, давшего кредитовый остаток?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 день, 7 часов назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
8 июля 2026 в 17:15 #38100
Как найти последний документ, приведший по кредитовому остатку на счете? Нужен такой Отчет. Напиши запрос. Можно без вложенных запросов с использованием временных таблиц.
-
8 июля 2026 в 17:15 #38101
Чтобы найти последний документ, который сформировал кредитовый остаток по счету, можно сделать так:
1. Получить остатки по кредиту с аналитикой.
2. Получить обороты по кредиту с регистраторами.
3. Для каждой аналитики найти максимальную дату оборота (последний документ).
4. Вывести итог с ссылкой на последний документ.Вот пример запроса с использованием временных таблиц (ПОМЕСТИТЬ после ВЫБРАТЬ), без вложенных подзапросов:
|ВЫБРАТЬ
| Остатки.Счет КАК Счет,
| Остатки.Субконто1 КАК Субконто1,
| Остатки.Субконто2 КАК Субконто2,
| Остатки.СуммаОстаток КАК КредитовыйОстаток
|ПОМЕСТИТЬ ВТ_КредитовыеОстатки
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , ) КАК Остатки
|ГДЕ
| Остатки.СуммаОстаток < 0
|;
|
|ВЫБРАТЬ
| Обороты.Счет КАК Счет,
| Обороты.Период КАК Период,
| Обороты.Регистратор КАК Документ,
| Обороты.Субконто1 КАК Субконто1,
| Обороты.Субконто2 КАК Субконто2
|ПОМЕСТИТЬ ВТ_КредитовыеОбороты
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНачала, &Дата, , Счет = &Счет, , , ) КАК Обороты
|ГДЕ
| Обороты.СуммаОборот < 0
|;
|
|ВЫБРАТЬ
| Остатки.Счет КАК Счет,
| Остатки.Субконто1 КАК Субконто1,
| Остатки.Субконто2 КАК Субконто2,
| МАКСИМУМ(Обороты.Период) КАК ПоследнийПериод
|ПОМЕСТИТЬ ВТ_ПоследнийПериод
|ИЗ
| ВТ_КредитовыеОстатки КАК Остатки
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_КредитовыеОбороты КАК Обороты
| ПО Остатки.Счет = Обороты.Счет
| И Остатки.Субконто1 = Обороты.Субконто1
| И Остатки.Субконто2 = Обороты.Субконто2
|ГРУППИРОВАТЬ ПО
| Остатки.Счет,
| Остатки.Субконто1,
| Остатки.Субконто2
|;
|
|ВЫБРАТЬ
| Остатки.Счет КАК Счет,
| Остатки.Субконто1 КАК Субконто1,
| Остатки.Субконто2 КАК Субконто2,
| Остатки.КредитовыйОстаток,
| Обороты.Документ КАК ПоследнийДокумент,
| Обороты.Период КАК ДатаПоследнегоДокумента
|ИЗ
| ВТ_КредитовыеОстатки КАК Остатки
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ПоследнийПериод КАК ПоследнийПериод
| ПО Остатки.Счет = ПоследнийПериод.Счет
| И Остатки.Субконто1 = ПоследнийПериод.Субконто1
| И Остатки.Субконто2 = ПоследнийПериод.Субконто2
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_КредитовыеОбороты КАК Обороты
| ПО Обороты.Счет = ПоследнийПериод.Счет
| И Обороты.Субконто1 = ПоследнийПериод.Субконто1
| И Обороты.Субконто2 = ПоследнийПериод.Субконто2
| И Обороты.Период = ПоследнийПериод.ПоследнийПериод
|
|ГДЕ
| Остатки.Счет = &Счет
|
|УПОРЯДОЧИТЬ ПО
| Остатки.Субконто1,
| Остатки.Субконто2
;—
Пояснения:
— ВТ_КредитовыеОстатки — остатки по кредиту (отрицательные суммы).
— ВТ_КредитовыеОбороты — обороты по кредиту (отрицательные суммы) с регистраторами.
— ВТ_ПоследнийПериод — для каждой аналитики находим максимальный период оборота.
— Итоговый запрос выводит остаток и последний документ, который сформировал этот остаток.—
Параметры:
— &Дата — дата отчета (например, КонецДня(ТекущаяДата))
— &ДатаНачала — дата начала периода оборотов (например, НачалоДня(ДатаНачалаПериода))
— &Счет — счет для анализа—
Такой запрос легко отлаживать, он не содержит вложенных подзапросов, использует временные таблицы.
—
Если нужна помощь с конкретными субконто или детализацией — уточните.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.