Структура отчета для примера: Направление деятельности ---> Месяц ---> Год
Ресурс - Сумма продаж.

Делаем период отчета за 2 года или за 3 и все замечательно показывает сравнение месяц к месяцу между годами. Но, хотелось бы накопительную сумму сравнивать. Т.е. за март сумму январь+февраль+март по каждому году и т.д.

ВычислитьВыражение("Сумма(СуммаПродаж)", "ПериодМесяц", ,"Предыдущая", "Текущая") работает если без сравнения по годам, просто за год по месяцам. А так он суммирует данные за по месяцу за все года.
Не хотелось бы делать объединение запросов отдельно по каждому периоду, т.к. теряется универсальность.
Может найдется у кого стоящая идея.
---
Ты наверное не понял какая структура отчета и что должно считаться - отчет нужен для анализа данных год к году помесячно. Естественно 15 23 и 10 находятся в на разных значениях группировки в этом и смысл.

В общем помучался и победил в итоге - собрал все таки выражение на СКД для накопительной суммы по-месяцам и годам.

1. В структуре надо делать не двух уровневую группировку по месяц - год. А одна группировка по двум полям месяц и год. Тогда в функции ВычислитьВыражение("Сумма(Факт)", "Период год", , "Первая", Текущая), мы будем пробегать по всем месяцам и годам, т.к. они находятся на одном уровне группировки.
На скрине видно все.

2. В выражении для ресурса накопительной суммы, в зависмости от текущего года, суммируем данные только из столбцов по этому году, для такого условия использовал как точку отсчета параметр НачалоПериода, и сделал чтобы можно было сравнивать данные за максимум 3 года, хотя можно заложить хоть 10. Выражение на скрине выложил, может кому пригодиться.

В итоге без потери гибкости СКД для пользователя получилось решить задачу, без всяких подзапросов.
Можем сравнивать по сути произвольное количество периодов, выберем данные за один год получим просто накопительную сумму по месяцам за этот год, выберем больше сможем анализировать данные в сравнении годов по месяцам.
---
Сделай поле ГОД в запросе.
И укажи его вместо Поставщик, ниже

```1c
    ВычислитьВыражение("Сумма(Сумма)", "Поставщик", ,"Предыдущая", "Текущая")
```
---
а переменные использовать запрещено ?
---
Тебе нужен нарастающий Итог в СКД? Если хочешь разбивку по годам, просто выбери соответствующую группировку

ВычислитьВыражение(Выражение, Группировка, ТипРасчета, Начало, Конец, Сортировка, ИерархическаяСортировка, ОбработкаОдинаковыхЗначенийПорядка)

Еще возможно проблема в том, что ты группируешь не по тому полю, проверь в каком поле у тебя какие данные Тебе нужно чтобы были уникальные месяц+ год
---
С группировкой все правильно, как говорил НаправлениеДеятельности ---> Месяц --->Год
Причем месяц - это дата, первое число месяца 1-го года, т.е. она одна и таже, что например для 2025 года, что для 2024. Например для марта это будет дата 01.03.0001, это и позволяет группировать данные по месяцу в разрезе годов.

Пример, имеем след. суммы год к году по месяцам:
| Направление1 |
| Jan(01.01.0001) | Feb(01.02.0001) | Mar(01.03.0001) |
| 2024 | 2025 | 2024 | 2025 | 2024 | 2025 |
| 10 | 15 | 25 | 23 | 40 | 10 |

А нужно получить накопительные суммы год к году по месяцам:
| 10 | 15 | 35 | 38 | 75 | 48 |

Если делать ВычислитьВыражение("Сумма(СуммаПродаж)", "ПериодМесяц", ,"Предыдущая", "Текущая")
то получим:
| 25 | 25 | 73 | 73 | 123 | 123 |

Если делать ВычислитьВыражение("Сумма(СуммаПродаж)", "ПериодГод", ,"Предыдущая", "Текущая")
то получим:
| 10 | 25 | 50 | 73 | 113 | 123 |
---
Еще раз повторяю, тебе нужно группировать по полю у которого будет уникальный год + месяц. Те.
01.12.2023
01.01.2024
01.02.2024
01.03.2024
01.04.2024
и тд.
Тогда у тебя будет сумма идти по месяцам, и за разные года разные суммы по месяцам
---
Да оно и сейчас все нормально суммы раскладывает по месяцам-годам. Проблемы нет сделать поле ПериодМесяцГод, но это не решит проблему получить НАКОПИТЕЛЬНУЮ сумму в разрезе двух группировок, а не одной, как это делает функция ВычислитьВыражение.

Как ты предлагаешь это тоже самое, как и сейчас на последнем уровне группировки будут идти значения:
01.01.2024 (10) -- 01.01.2025 (15) -- 01.02.2024(25) -- 01.02.2025(23) -- 01.03.2024(40) -- 01.03.2025(10)

И ВычислитьВыражение("Сумма(СуммаПродаж)", "ПериодМесяцГод", ,"Предыдущая", "Текущая")
для марта 2024 года посчитает = 10+15+25+23+40 = 113, а надо 10+25+40 = 75
для марта 2025 года = 10+15+25+23+40+10 = 123, а надо 15+23+10 = 48
---
Честно не понимаю что ты хочешь, если у тебя будет группировка по годам
то соответсвенно поле будет обнулятся в начале каждого года
Если по месяцам и годам то в каждом месяце
Если по кварталам, то соответственно по кварталам. Если ты хочешь выбирать какая периодичность будет у твоего сумирующегося поля, то нужно создать в запросе 1 поле которое будет выставлять нужную периодичность по указанному в передаваемом параметре
---
Если тебе нужны кварталы, то получи по запросу соответствующее поле квартала, по которому и будет происходить группировка
---
Пойми твоя проблема в том, что 15, 23 и 10 находятся в полях с разными значениями, просто сделай значения одинаковыми, для этого нужно в запросе прописать соответвующее условие "ВЫБОР КОГДА КОНЕЦ" И "НачалоПериода" в помощь
---
Ты наверное не понял какая структура отчета и что должно считаться - отчет нужен для анализа данных год к году помесячно. Естественно 15 23 и 10 находятся в на разных значениях группировки в этом и смысл.

В общем помучался и победил в итоге - собрал все таки выражение на СКД для накопительной суммы по-месяцам и годам.

1. В структуре надо делать не двух уровневую группировку по месяц - год. А одна группировка по двум полям месяц и год. Тогда в функции ВычислитьВыражение("Сумма(Факт)", "Период год", , "Первая", Текущая), мы будем пробегать по всем месяцам и годам, т.к. они находятся на одном уровне группировки.
На скрине видно все.

2. В выражении для ресурса накопительной суммы, в зависмости от текущего года, суммируем данные только из столбцов по этому году, для такого условия использовал как точку отсчета параметр НачалоПериода, и сделал чтобы можно было сравнивать данные за максимум 3 года, хотя можно заложить хоть 10. Выражение на скрине выложил, может кому пригодиться.

В итоге без потери гибкости СКД для пользователя получилось решить задачу, без всяких подзапросов.
Можем сравнивать по сути произвольное количество периодов, выберем данные за один год получим просто накопительную сумму по месяцам за этот год, выберем больше сможем анализировать данные в сравнении годов по месяцам.
---
Возможно я плохо объясняюсь, но ты смог понять, поздравляю!
P.S Год к году или помесячно как твой отчет будет группировать информация настраивается в структуре отчета, а на входе в эту структуру твой отчет имеет лишь таблицу с полями которые имеют входные данные. И вот когда ты добавляешь в нее вычисляемое поле, ты по сути добавляешь в эту таблицу еще одну колонку, ячейки которой будут заполняться по нужному тебе алгоритму. И естественно группировка происходит по одинаковым полям, поэтому чтобы у тебя был накопительный реквизит по определенным строкам твоей таблицы, тебе нужно соответствующее поле которое будет одинаково только у этих строк.
---
я конечно не помню как делал. но это проще решить запросом. в запросе сразу вычислять итоги: квартальные, полугодовые, годовые. а в скд выплюнуть результат с сортировкой
+ данные приколами с нарастающими итогами моветон уже с десяток лет