Определяет номер дня недели для указанной даты.
Синтаксис
ДеньНедели(<Дата>)Примеры платформы
Сообщить(ДеньНедели(ТекущаяДата()));Полное описание, параметры и ограничения
Глобальный контекст.ДеньНедели (Global context.WeekDay)
Глобальный контекст (Global context)
ДеньНедели (WeekDay)
Доступен, начиная с версии 8.0.
Синтаксис:
ДеньНедели(<Дата>)
Параметры:
<Дата> (обязательный)
Тип: Дата.
Исходная дата.
Возвращаемое значение:
Тип: Число.
Номер дня недели.
Описание:
Определяет номер дня недели для указанной даты.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Внимание: Данный метод не поддерживается при работе через COM-соединение
Пример:
Сообщить(ДеньНедели(ТекущаяДата()));
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Найти следующий будний день в упрощённом учебном календаре
От пятницы переходим к следующему дню и пропускаем субботу и воскресенье. Праздники сознательно не учитываются.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используется фиксированная дата, а не ТекущаяДата: результаты можно сравнить независимо от дня запуска.
Данные создаются только в памяти учебной базы; рабочие документы и регистры не меняются.
Для урока будними считаются только понедельник–пятница. Производственный календарь конфигурации здесь не используется.
Исходная = Дата(2026, 9, 18, 17, 0, 0);
Кандидат = НачалоДня(Исходная) + 24 * 60 * 60;
Пока ДеньНедели(Кандидат) > 5 Цикл
Кандидат = Кандидат + 24 * 60 * 60;
КонецЦикла;
Сообщить(Формат(Кандидат, "ДФ=yyyy-MM-dd HH:mm:ss"));
Сообщить(ДеньНедели(Кандидат));
Сообщить(Год(Кандидат));
Сообщить(Месяц(Кандидат));
Сообщить(День(Кандидат));Разбор по шагам
Приводим исходную пятницу к началу календарного дня.
Ищем строго следующий день, не включая исходную дату.
ДеньНедели возвращает 1 для понедельника и 7 для воскресенья; значения 6 и 7 пропускаем.
Выводим дату и её числовые компоненты для проверки.
Как проверить результат
Результат 2026-09-21 00:00:00, номер дня недели 1; компоненты 2026, 9, 21.
Замените исходник на 2026-09-17: результат будет пятница 18 сентября.
Если понедельник является праздником, этот алгоритм всё равно его вернёт — так видна граница учебной модели.
Ожидаемый результат
Найден следующий день понедельник–пятница в явно упрощённом календаре.
На что обратить внимание
Не используйте этот алгоритм для расчёта реальных сроков доставки, зарплаты или регламентированных рабочих дней; там нужен производственный календарь конфигурации.
Прибавление 86400 к Дата здесь означает сдвиг календарного представления; это не расчёт фактически прошедших секунд через переход часового пояса.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.