Используйте интервал от начала месяца включительно до начала следующего месяца исключительно. Это позволяет не подбирать последнюю секунду месяца. В запросе условие имеет вид: Дата >= &Начало И Дата < &Конец.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Исходная дата фиксирована: 15 сентября 2026 года.
Используется полуоткрытый интервал: начало включено, конец исключён.
ИсходнаяДата = Дата(2026, 9, 15, 12, 30, 0);
НачалоПериода = НачалоМесяца(ИсходнаяДата);
КонецПериода = ДобавитьМесяц(НачалоПериода, 1);
Сообщить(Формат(НачалоПериода, "ДФ=dd.MM.yyyy HH:mm:ss"));
Сообщить(Формат(КонецПериода, "ДФ=dd.MM.yyyy HH:mm:ss"));Разбор по шагам
НачалоМесяца обнуляет время и устанавливает первый день.
ДобавитьМесяц получает начало следующего месяца.
Формат применяется только для отображения; сравнивать даты нужно как даты.
Как проверить результат
Границы: 01.09.2026 00:00:00 и 01.10.2026 00:00:00.
Для декабря верхняя граница должна перейти на 1 января следующего года.
Ожидаемый результат
01.09.2026 00:00:00
01.10.2026 00:00:00
На что обратить внимание
В условии запроса используйте >= начало и < конец.
Не заменяйте верхнюю границу на последний день без учёта времени.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.