Перейти к содержанию

начмесяца

Функция начмесяца возвращает первый день месяца с учётом указанного смещения относительно исходной даты.

Функция пригодится, когда необходимо определить начало текущего, предыдущего или будущего месяца.

Синтаксис

начмесяца(исходнаяДата, количествоМесяцев)

Параметры:

  • исходнаяДата — дата, относительно которой определяется начало месяца. Обязательный параметр;
  • количествоМесяцев — количество месяцев смещения. Обязательный числовой параметр.

Положительное значение смещает расчёт вперёд, отрицательное — назад, 0 оставляет исходный месяц.

В качестве параметров можно использовать:

  • значения полей;
  • результаты других функций;
  • выражения.

Возвращаемое значение

Функция возвращает дату первого дня рассчитанного месяца.

Если исходная дата содержит время, оно сохраняется.

Особенности

Независимо от дня исходной даты функция возвращает первый день рассчитанного месяца.

Например:

начмесяца("15.04.2025", 0)

Результат:

01.04.2025 00:00:00

При отрицательном значении смещения функция возвращает первый день предыдущего месяца.

Например:

начмесяца("15.04.2025", -1)

Результат:

01.03.2025 00:00:00

Функция принимает дробные числовые значения.

Например:

начмесяца("15.04.2025", 1.5)

Результат:

01.06.2025 00:00:00

Примеры

Смещение на несколько месяцев

начмесяца("15.04.2025", 2)

Результат:

01.06.2025 00:00:00

Использование выражения

Если:

  • исходнаяДата = 15.04.2025;
  • количествоМесяцев = 1;

то выражение:

начмесяца(исходнаяДата, количествоМесяцев + 1)

вернёт:

01.06.2025 00:00:00

Ошибки

Функция возвращает ошибку, если один из обязательных параметров не содержит значения.

Ошибка возникает, если не заполнено:

  • исходнаяДата;
  • количествоМесяцев.

Связь с другими функциями

Функцию начмесяца можно использовать совместно с другими функциями для работы с датами.

Исходную дату можно сформировать с помощью функции дата, а затем определить начало нужного месяца:

начмесяца(дата(15, 4, 2025), 2)

Результат:

01.06.2025 00:00:00

Результат функции можно передать в функцию форматирования:

форматДаты(
    начмесяца(дата(15, 4, 2025), 2),
    ФорматДаты.ДатаКратко
)

Результат:

01.06.2025

Для собственного формата отображения можно использовать функцию форматДатыПоМаске:

форматДатыПоМаске(
    начмесяца(дата(15, 4, 2025), 2),
    "dd MMMM yyyy"
)

При русской локали результат:

01 июня 2025