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

Функция «номнедели»

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

Полученное значение можно использовать в тексте документа, условиях и других выражениях Комбинатора. Например, чтобы определить номер недели, на которую приходится дата поставки, выполнения работ или другого события.

Синтаксис

номнедели(дата, [формат_возврата])

дата — значение, содержащее дату. В функцию можно передать:

  • дату, указанную непосредственно в функции;
  • значение из поля Дата;
  • значение из поля Дата и время;
  • значение из поля Текст, если в нём записана дата;
  • результат другой функции Комбинатора, содержащий дату.

формат_возврата — необязательный параметр, который позволяет изменить правила подсчёта недель.

Как считается номер недели по умолчанию

Если формат_возврата не указан:

  • неделя начинается с понедельника;
  • первой считается неделя, в которую попадает 1 января.

Такому способу подсчёта соответствует формат 11.

Например:

номнедели("12.08.2026")

Результат:

33

Это означает, что 12 августа 2026 года относится к 33-й неделе года.

Изменение правил подсчёта недель

Параметр формат_возврата нужен, если стандартный способ подсчёта недель не подходит.

Он определяет сразу две настройки:

  • как определяется первая неделя года;
  • какой день считается первым днём недели.

Для этого используются двузначные коды, например 11, 17, 21 или 27.

Как читать код формата

Первая цифра определяет систему подсчёта недель:

  • 1 — первой считается неделя, в которую попадает 1 января;
  • 2 — первой считается неделя, в которую попадает первый четверг года.

Вторая цифра определяет первый день недели:

  • 1 — понедельник;
  • 2 — вторник;
  • 3 — среда;
  • 4 — четверг;
  • 5 — пятница;
  • 6 — суббота;
  • 7 — воскресенье.

Например:

  • 11 — система 1, неделя начинается с понедельника;
  • 17 — система 1, неделя начинается с воскресенья;
  • 21 — система 2, неделя начинается с понедельника;
  • 27 — система 2, неделя начинается с воскресенья.

Системы подсчёта недель

Система 1

В системе 1 первой считается неделя, в которую попадает 1 января.

Поэтому 1 января всегда относится к первой неделе нового года независимо от того, на какой день недели выпала эта дата.

Например:

номнедели("01.01.2022", 11)

Результат:

1

Система 2

В системе 2 первой считается неделя, в которую попадает первый четверг года. Такой способ определения первой недели основан на методологии ISO 8601.

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

Для той же даты:

номнедели("01.01.2022", 21)

результатом будет:

52

1 января 2022 года приходится на субботу, поэтому при использовании системы 2 эта дата ещё относится к последней неделе предыдущего года.

Таким образом, одна и та же дата может получить разный номер недели в зависимости от выбранной системы подсчёта.

Доступные форматы

Формат Первый день недели Система
11 понедельник 1
12 вторник 1
13 среда 1
14 четверг 1
15 пятница 1
16 суббота 1
17 воскресенье 1
21 понедельник 2
22 вторник 2
23 среда 2
24 четверг 2
25 пятница 2
26 суббота 2
27 воскресенье 2

Указание даты непосредственно в функции

Конкретную дату можно указать непосредственно в функции. Значение необходимо заключить в двойные кавычки.

Например:

номнедели("12.08.2026")

Результат:

33

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

Использование значения из поля

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

Если поле Дата содержит:

12.08.2026

выражение:

номнедели(полеДата)

вернёт:

33

Если поле Дата и время содержит:

12.08.2026 14:30:15

выражение:

номнедели(полеДатаВремя)

вернёт:

33

Время не влияет на определение номера недели.

Функцию можно использовать и с текстовым полем. Если поле Текст содержит:

12.08.2026

выражение:

номнедели(текстовоеПоле)

вернёт:

33

Если в функцию передаётся текстовое значение, оно должно содержать дату в поддерживаемом формате. Значение в неподходящем формате приведёт к ошибке.

Использование с другими функциями

В номнедели можно передать результат другой функции, содержащий дату.

Например, функцию можно использовать вместе с тдата():

номнедели(тдата())

Функция тдата() возвращает текущие дату и время, а номнедели определяет номер недели, к которой относится эта дата.

Ошибки

Функция вернёт ошибку, если:

  • переданное значение не содержит дату в поддерживаемом формате;
  • в формат_возврата указано значение, отличное от 11–17 и 21–27.