А ларчик просто открывался. [Dervish 08/12/2025 22:40]
Всё работает так, как и должно работать. Всё это я увидел, когда смотрел присланную БД. Но давайте я расскажу по скриншоту, который есть в Вашем начальном сообщении.
Вся проблема в том, что, как Вы верно заметили, отсечки по датам "не те". У вас все даты начинаются с 28-го числа. И, собственно, именно поэтому операции за 30.09 попадают в интервал 28.09 - 28.10. То есть тут ошибки нет, программа корректно вычисляет значения для заданных интервалов.
Вопрос номер 2: почему так вышло, что даты начала периодов выпали на 28 число? ну потому что у Вас в фильтрах начальная дата выставлена на 28.06, вот так, начиная от этой даты программа отсчитывает по одному месяцу и получаются даты следующих периодов: 28.07, 28.08, 28.09 и т.д.
В своё время, когда я занимался этим графиком (отчетом) мне пришлось сильно подумать, как именно обходиться с датами. И да, был соблазн сделать "если выбран период «Месяц», то считать с первого числа", но я от этого отказался. Почему? Да потому, что сейчас очень легко и просто получить полные месяцы, Вам достаточно просто дату перевести на 1-е число. А вот если б я сделал привязку к 1-му числу, то посчитать помесячно, но не с первого числа было бы очень трудно.
К слову сказать, для разных периодов используются разные начальные даты. Например, в списке периодов есть "неделя", а есть "7 дней". Почему? Да потому что неделя начинается с понедельника, а 7 дней с произвольного дня.