Глобальный контекст.НачалоМинуты

Методы · BegOfMinute

Определяет дату и время начала минуты для указанной даты.

Синтаксис

НачалоМинуты(<Дата>)

Примеры платформы

Сообщить(НачалоМинуты(ТекущаяДата()));
Полное описание, параметры и ограничения

Глобальный контекст.НачалоМинуты (Global context.BegOfMinute)

Глобальный контекст (Global context)

НачалоМинуты (BegOfMinute)

Доступен, начиная с версии 8.0.

Синтаксис:
НачалоМинуты(<Дата>)
Параметры:

<Дата> (обязательный)
Тип: Дата.
Исходная дата.
Возвращаемое значение:
Тип: Дата.
Дата и время начала минуты.
Описание:

Определяет дату и время начала минуты для указанной даты.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Внимание: Данный метод не поддерживается при работе через COM-соединение
Пример:

Сообщить(НачалоМинуты(ТекущаяДата()));

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Отобрать события одной минуты без потери последней секунды

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

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Используется фиксированная дата, а не ТекущаяДата: результаты можно сравнить независимо от дня запуска.

  2. Данные создаются только в памяти учебной базы; рабочие документы и регистры не меняются.


ОпорнаяДата = Дата(2026, 9, 15, 8, 15, 30);
НачалоОкна = НачалоМинуты(ОпорнаяДата);
КонецОкнаИсключённый = КонецМинуты(ОпорнаяДата) + 1;
Сообщить(Формат(НачалоОкна, "ДФ=HH:mm:ss"));
Сообщить(Формат(КонецОкнаИсключённый, "ДФ=HH:mm:ss"));
Сообщить(Формат(НачалоЧаса(ОпорнаяДата), "ДФ=HH:mm:ss"));
Сообщить(Формат(КонецЧаса(ОпорнаяДата), "ДФ=HH:mm:ss"));
События = Новый Массив;
События.Добавить(Дата(2026, 9, 15, 8, 15, 0));
События.Добавить(Дата(2026, 9, 15, 8, 15, 59));
События.Добавить(Дата(2026, 9, 15, 8, 16, 0));
Количество = 0;
Для Каждого Момент Из События Цикл
    Если Момент >= НачалоОкна И Момент < КонецОкнаИсключённый Тогда
        Количество = Количество + 1;
        Сообщить(Формат(Момент, "ДФ=HH:mm:ss"));
    КонецЕсли;
КонецЦикла;
Сообщить(Количество);
Сообщить(Час(ОпорнаяДата));
Сообщить(Минута(ОпорнаяДата));
Сообщить(Секунда(ОпорнаяДата));

Разбор по шагам

  1. НачалоМинуты обнуляет секунды, а КонецМинуты возвращает секунду 59.

  2. Добавляем одну секунду к концу и используем строгое < для верхней границы.

  3. Событие в 08:15:59 включено, событие в 08:16:00 относится уже к следующей минуте.

  4. Час, Минута и Секунда извлекают числовые компоненты даты, не строковые фрагменты её представления.

Как проверить результат

  1. Окно 08:15:00 ≤ момент < 08:16:00; отобраны два события.

  2. Границы часа 08:00:00 и 08:59:59; компоненты опорной даты 8, 15, 30.

  3. Замените верхнее < на <=: событие следующей минуты ошибочно попадёт в обе соседние выборки.

Ожидаемый результат

Два учебных события отобраны в своё минутное окно, третье исключено.

На что обратить внимание

  1. Дата платформы имеет секундную точность: внешний формат с миллисекундами требует отдельного согласованного представления.

  2. Для событий разных часовых поясов сначала приведите моменты к общей шкале.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.