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

Функция «деньнед»

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

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

Синтаксис

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

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

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

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

Нумерация дней недели по умолчанию

Если формат_возврата не указан, неделя начинается с понедельника, а дни получают номера от 1 до 7:

Понедельник — 1
Вторник — 2
Среда — 3
Четверг — 4
Пятница — 5
Суббота — 6
Воскресенье — 7

Такой вариант нумерации соответствует формату 11.

Например:

деньнед("11.08.2026")

Результат:

2

поскольку 11 августа 2026 года — вторник.

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

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

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

Например:

деньнед("15.08.2026")

Результат:

6

поскольку 15 августа 2026 года — суббота.

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

Изменение нумерации дней недели

Параметр формат_возврата позволяет изменить правила, по которым функция присваивает номера дням недели.

Например, по умолчанию для даты 11.08.2026, которая приходится на вторник:

деньнед("11.08.2026")

функция вернёт:

2

Чтобы начать нумерацию дней недели с 0, после даты можно указать формат 1:

деньнед("11.08.2026", 1)

Здесь 1 после запятой — это код формата нумерации, а не номер дня недели.

Формат 1 задаёт следующий порядок:

Понедельник — 0
Вторник — 1
Среда — 2
Четверг — 3
Пятница — 4
Суббота — 5
Воскресенье — 6

Поэтому для той же даты функция вернёт:

1

Дата осталась той же — изменился только номер, который функция присваивает вторнику.

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

Форматы от 1 до 7 используют нумерацию дней от 0 до 6, а форматы от 11 до 17 — от 1 до 7.

Формат Первый день недели Нумерация
1 понедельник 0–6
2 вторник 0–6
3 среда 0–6
4 четверг 0–6
5 пятница 0–6
6 суббота 0–6
7 воскресенье 0–6
11 понедельник 1–7
12 вторник 1–7
13 среда 1–7
14 четверг 1–7
15 пятница 1–7
16 суббота 1–7
17 воскресенье 1–7

Например, формат 12 означает, что первым днём недели считается вторник и он получает номер 1. Следующие дни получают номера по порядку, а понедельник — номер 7.

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

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

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

11.08.2026

выражение:

деньнед(полеДата)

вернёт:

2

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

15.08.2026 14:30:15

выражение:

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

вернёт:

6

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

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

16.08.2026

выражение:

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

вернёт:

7

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

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

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

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

деньнед(тдата())

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

Ошибки

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

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