Odin | База знаний 1С

Как добавить итоги ...
 

Как добавить итоги по месяцу и вывести название месяца в запросе 1С?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

получить в этом запросе еще и итого по месяцу и вывести название месяца в начале группировки и итог в конце
ВЫБРАТЬ
ХозрасчетныйОстатки.Субконто3 КАК Документ,
ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт КАК ОстатокКт
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , ) КАК ХозрасчетныйОстатки
ГДЕ
ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт > 0



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

8

Для получения итого по месяцу и вывода названия месяца в начале группировки, а итога — в конце, нужно в запрос добавить группировку по месяцу, вычислить месяц и название месяца, а также использовать объединение с итоговой строкой.

Пример запроса с такими доработками:

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

ОБЪЕДИНИТЬ ВСЕ

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

УПОРЯДОЧИТЬ ПО
    Месяц,
    Документ NULLS LAST

Объяснение:

- В первой части запроса выбираются данные с группировкой по месяцу, названию месяца и документу, чтобы получить детализацию.
- Во второй части — итог по месяцу (Документ = NULL), сумма по всем документам месяца.
- Объединение `ОБЪЕДИНИТЬ ВСЕ` позволяет вывести сначала детальные строки, затем итоговые.
- Сортировка по месяцу и по документу с NULLS LAST гарантирует, что итоги будут в конце каждой группы.
- Название месяца выводится в каждой строке, можно в интерфейсе отчета настроить отображение только в начале группы.

Если нужно, чтобы название месяца выводилось только в первой строке группы, а в остальных было пусто — это уже задача оформления отчета (например, в табличном документе или СКД с условным форматированием).

Рекомендую посмотреть здесь: https://infostart.ru/public/77916/ — пример работы с группировками и итогами в запросах и отчетах 1С.

# Кратко

- Добавить вычисление месяца и названия месяца через НАЧАЛОПЕРИОДА и Формат.
- Сделать группировку по месяцу и документу.
- Добавить объединение с итоговой строкой по месяцу.
- Отсортировать так, чтобы итоги шли в конце.
- В отчете оформить вывод названия месяца в начале группы.

Если нужна помощь с оформлением в табличном документе или СКД — могу помочь дополнительно.



   
ОтветитьЦитата