База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как добавить итоги по месяцу и вывести название месяца в запросе 1С? › RE: Как добавить итоги по месяцу и вывести название месяца в запросе 1С?
8
Для получения итого по месяцу и вывода названия месяца в начале группировки, а итога — в конце, нужно в запрос добавить группировку по месяцу, вычислить месяц и название месяца, а также использовать объединение с итоговой строкой.
Пример запроса с такими доработками:
1C
ВЫБРАТЬ
НАЧАЛОПЕРИОДА(ХозрасчетныйОстатки.Период, МЕСЯЦ) КАК Месяц,
Формат(НАЧАЛОПЕРИОДА(ХозрасчетныйОстатки.Период, МЕСЯЦ), "ММММ") КАК НазваниеМесяца,
ХозрасчетныйОстатки.Субконто3 КАК Документ,
СУММА(ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт) КАК ОстатокКт
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , ) КАК ХозрасчетныйОстатки
ГДЕ
ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт > 0
СГРУППИРОВАТЬ ПО
Месяц,
НазваниеМесяца,
Документ
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
Месяц,
НазваниеМесяца,
NULL КАК Документ,
СУММА(ОстатокКт) КАК ОстатокКт
ИЗ
(
ВЫБРАТЬ
НАЧАЛОПЕРИОДА(ХозрасчетныйОстатки.Период, МЕСЯЦ) КАК Месяц,
Формат(НАЧАЛОПЕРИОДА(ХозрасчетныйОстатки.Период, МЕСЯЦ), "ММММ") КАК НазваниеМесяца,
ХозрасчетныйОстатки.Субконто3 КАК Документ,
ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт КАК ОстатокКт
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , ) КАК ХозрасчетныйОстатки
ГДЕ
ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт > 0
) КАК ВнутреннийЗапрос
СГРУППИРОВАТЬ ПО
Месяц,
НазваниеМесяца
УПОРЯДОЧИТЬ ПО
Месяц,
Документ NULLS LAST
Объяснение:
— В первой части запроса выбираются данные с группировкой по месяцу, названию месяца и документу, чтобы получить детализацию.
— Во второй части — итог по месяцу (Документ = NULL), сумма по всем документам месяца.
— Объединение `ОБЪЕДИНИТЬ ВСЕ` позволяет вывести сначала детальные строки, затем итоговые.
— Сортировка по месяцу и по документу с NULLS LAST гарантирует, что итоги будут в конце каждой группы.
— Название месяца выводится в каждой строке, можно в интерфейсе отчета настроить отображение только в начале группы.
Если нужно, чтобы название месяца выводилось только в первой строке группы, а в остальных было пусто — это уже задача оформления отчета (например, в табличном документе или СКД с условным форматированием).
Рекомендую посмотреть здесь: https://infostart.ru/public/77916/ — пример работы с группировками и итогами в запросах и отчетах 1С.
# Кратко
— Добавить вычисление месяца и названия месяца через НАЧАЛОПЕРИОДА и Формат.
— Сделать группировку по месяцу и документу.
— Добавить объединение с итоговой строкой по месяцу.
— Отсортировать так, чтобы итоги шли в конце.
— В отчете оформить вывод названия месяца в начале группы.
Если нужна помощь с оформлением в табличном документе или СКД — могу помочь дополнительно.