датамес
Функция датамес смещает исходную дату на указанное количество месяцев вперёд или назад.
Функция пригодится, когда необходимо вычислить дату относительно другой даты, например получить дату через несколько месяцев или определить дату предыдущего периода.
Синтаксис
датамес(исходнаяДата, количествоМесяцев)
Параметры:
исходнаяДата— дата, относительно которой выполняется смещение. Обязательный параметр;количествоМесяцев— количество месяцев, на которое необходимо сместить дату. Обязательный числовой параметр.
Положительное значение количествоМесяцев смещает дату вперёд, отрицательное — назад. Значение 0 возвращает исходную дату без смещения.
В качестве параметров можно использовать:
- значения полей;
- результаты других функций;
- выражения.
Возвращаемое значение
Функция возвращает дату, смещённую на указанное количество месяцев.
Если исходная дата содержит время, оно сохраняется.
Особенности
При переходе на месяц, в котором нет соответствующего дня, функция возвращает последний существующий день этого месяца.
Например:
датамес("31.01.2026", 1)
Результат:
28.02.2026 00:00:00
Функция принимает дробные числовые значения.
Например:
датамес(исходнаяДата, 1.5)
смещает дату на 2 месяца вперёд.
Примеры
Смещение даты
датамес("15.03.2025", 6)
Результат:
15.09.2025 00:00:00
Использование значений полей и выражения
Если:
исходнаяДата=15.03.2026;количествоМесяцев=2;
то выражение:
датамес(исходнаяДата, количествоМесяцев + 1)
вернёт:
15.06.2026 00:00:00
Ошибки
Функция возвращает ошибку, если один из обязательных параметров не содержит значения.
Ошибка возникает, если не заполнено:
исходнаяДата;количествоМесяцев.
Связь с другими функциями
Функцию датамес можно использовать совместно с другими функциями для работы с датами.
Исходную дату можно сформировать с помощью функции дата, а затем сместить на нужное количество месяцев:
датамес(дата(15, 3, 2026), 6)
Результат:
15.09.2026 00:00:00
Результат функции датамес можно передать в функцию форматирования:
форматДаты(
датамес(дата(15, 3, 2026), 6),
ФорматДаты.ДатаКратко
)
Результат:
15.09.2026
Для собственного формата отображения можно использовать функцию форматДатыПоМаске:
форматДатыПоМаске(
датамес(дата(15, 3, 2026), 6),
"dd MMMM yyyy"
)
При русской локали результат:
15 сентября 2026