конмесяца
Функция конмесяца возвращает последний день месяца с учётом указанного смещения относительно исходной даты.
Функция пригодится, когда необходимо определить окончание текущего, предыдущего или будущего месяца.
Синтаксис
конмесяца(исходнаяДата, количествоМесяцев)
Параметры:
исходнаяДата— дата, относительно которой определяется конец месяца. Обязательный параметр;количествоМесяцев— количество месяцев смещения. Обязательный числовой параметр.
Положительное значение смещает расчёт вперёд, отрицательное — назад, 0 оставляет исходный месяц.
В качестве параметров можно использовать:
- значения полей;
- результаты других функций;
- выражения.
Возвращаемое значение
Функция возвращает дату последнего дня рассчитанного месяца.
Если исходная дата содержит время, оно сохраняется.
Особенности
Функция автоматически учитывает количество дней в месяце.
Например:
конмесяца("15.02.2025", 0)
Результат:
28.02.2025 00:00:00
Для високосного года:
конмесяца("15.02.2024", 0)
Результат:
29.02.2024 00:00:00
Функция принимает дробные числовые значения.
Например:
конмесяца("15.04.2025", 1.5)
Результат:
30.06.2025 00:00:00
Примеры
Смещение на несколько месяцев
конмесяца("15.04.2025", 2)
Результат:
30.06.2025 00:00:00
Использование выражения
Если:
исходнаяДата=15.04.2025;количествоМесяцев=1;
то выражение:
конмесяца(исходнаяДата, количествоМесяцев + 1)
вернёт:
30.06.2025 00:00:00
Ошибки
Функция возвращает ошибку, если один из обязательных параметров не содержит значения.
Ошибка возникает, если не заполнено:
исходнаяДата;количествоМесяцев.
Связь с другими функциями
Функцию конмесяца можно использовать совместно с другими функциями для работы с датами.
Исходную дату можно сформировать с помощью функции дата, а затем определить конец нужного месяца:
конмесяца(дата(15, 4, 2025), 2)
Результат:
30.06.2025 00:00:00
Результат функции можно передать в функцию форматирования:
форматДаты(
конмесяца(дата(15, 4, 2025), 2),
ФорматДаты.ДатаКратко
)
Результат:
30.06.2025
Для собственного формата отображения можно использовать функцию форматДатыПоМаске:
форматДатыПоМаске(
конмесяца(дата(15, 4, 2025), 2),
"dd MMMM yyyy"
)
При русской локали результат:
30 июня 2025