Функция «деньнед»
Функция деньнед определяет, на какой день недели приходится указанная дата, и возвращает его номер.
Полученное значение можно использовать в условиях и других выражениях Комбинатора. Например, чтобы определить, приходится ли дата на рабочий или выходной день.
Синтаксис
деньнед(дата, [формат_возврата])
дата — значение, содержащее дату. В функцию можно передать:
- дату, указанную непосредственно в функции;
- значение из поля Дата;
- значение из поля Дата и время;
- значение из поля Текст, если в нём записана дата;
- результат другой функции Комбинатора, содержащий дату.
формат_возврата — необязательный параметр, который позволяет изменить нумерацию дней недели.
Нумерация дней недели по умолчанию
Если формат_возврата не указан, неделя начинается с понедельника, а дни получают номера от 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.