Устанавливает время последнего изменения файла.
Синтаксис
УстановитьУниверсальноеВремяИзменения(<ВремяИзменения>)Полное описание, параметры и ограничения
Файл.УстановитьУниверсальноеВремяИзменения (File.SetModificationUniversalTime)
Файл (File)
УстановитьУниверсальноеВремяИзменения (SetModificationUniversalTime)
Доступен, начиная с версии 8.2.
Синтаксис:
УстановитьУниверсальноеВремяИзменения(<ВремяИзменения>)
Параметры:
<ВремяИзменения> (обязательный)
Тип: Дата.
Универсальное время, которое будет установлено файлу как время последнего изменения.
Описание:
Устанавливает время последнего изменения файла.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Применим только к файлам и каталогам, которые реально существуют.
Для работы метода на веб-клиенте необходимо предварительно подключить расширение работы с файлами.
При работе под управлением ОС Windows, если время изменения файла меньше 1 января 1601 года (UTC), генерируется исключение.
См. также:
Файл, метод НачатьУстановкуУниверсальногоВремениИзменения
Файл, метод УстановитьУниверсальноеВремяИзмененияАсинх
Использование в версии:
Доступен, начиная с версии 8.2.
Описание изменено в версии 8.3.18.
Методическая информация
Практические примеры
Задать UTC-время изменения своему файлу
Универсальное время задаём своей датой 3 октября 2026 12:00 UTC. Не подменяем его местным временем и не изменяем часы ОС.
Где и как запускать
Полный модуль пустой управляемой формы учебной EPF; клиент Windows с разрешённым доступом к своим временным файлам.
Подготовка
Создайте учебную внешнюю обработку с пустой управляемой основной формой. Создайте команду УчебныйПример и кнопку этой команды.
В свойстве команды Действие выберите процедуру УчебныйПример. Вставьте полный приведённый модуль формы.
Откройте EPF в тонком или толстом клиенте Windows и нажмите кнопку. Не переносите Ждать и Асинх в серверный общий модуль.
Файл создаётся на компьютере клиента Windows во временном каталоге. Веб-клиент и сервер для данного модуля не используйте.
Требуется разрешённый в учебной базе доступ к локальной файловой системе. Не отключайте профиль безопасности рабочей базы ради запуска.
Создаётся только собственный временный файл с режимом СоздатьНовый. После ожидания операций ресурсы закрываются, точное собственное имя удаляется.
Файл содержит только собственную ASCII-строку ABC123 (6 байтов без BOM). Поток записи закрывается перед чтением/изменением атрибутов.
Все файлы примера создаются заново. Скрытость/readonly при очистке снимаются только у собственного файла после закрытия, затем точное имя удаляется.
Не заменяйте временное имя путём конфигурации, базы, документа или загруженного вами архива. Атрибуты и время меняются только у учебного файла.
Здесь обычная Процедура, без Асинх/Ждать. Модуль работает только на клиенте Windows.
&НаКлиенте
Процедура УчебныйПример(Команда)
ИмяФайла = ПолучитьИмяВременногоФайла("bin");
УчебныйФайл = Новый Файл(ИмяФайла);
Если УчебныйФайл.Существует() Тогда
ВызватьИсключение "Временное имя уже занято: чужой файл не открываем";
КонецЕсли;
Поток = Неопределено;
Вид = Неопределено;
Копия = Неопределено;
СозданСвойФайл = Ложь;
Попытка
Поток = Новый ФайловыйПоток(ИмяФайла, РежимОткрытияФайла.СоздатьНовый, ДоступКФайлу.ЧтениеИЗапись);
СозданСвойФайл = Истина;
Буфер = ПолучитьБуферДвоичныхДанныхИзСтроки("ABC123", КодировкаТекста.UTF8, Ложь);
Поток.Записать(Буфер, 0, Буфер.Размер);
Поток.Закрыть();
Поток = Неопределено;
УчебноеUTC = Дата(2026, 10, 3, 12, 0, 0);
УчебныйФайл.УстановитьУниверсальноеВремяИзменения(УчебноеUTC);
ФактическоеUTC = УчебныйФайл.ПолучитьУниверсальноеВремяИзменения();
Сообщить(ФактическоеUTC = УчебноеUTC);
Сообщить(ТипЗнч(ФактическоеUTC) = Тип("Дата"));
Сообщить(УчебныйФайл.Размер() = 6);
Исключение
Если Вид <> Неопределено Тогда
Вид.Закрыть();
КонецЕсли;
Если Копия <> Неопределено Тогда
Копия.Закрыть();
КонецЕсли;
Если Поток <> Неопределено Тогда
Поток.Закрыть();
КонецЕсли;
Если СозданСвойФайл И УчебныйФайл.Существует() Тогда
УчебныйФайл.УстановитьТолькоЧтение(Ложь);
УчебныйФайл.УстановитьНевидимость(Ложь);
КонецЕсли;
Если СозданСвойФайл И УчебныйФайл.Существует() Тогда
УдалитьФайлы(ИмяФайла);
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
Если Вид <> Неопределено Тогда
Вид.Закрыть();
КонецЕсли;
Если Копия <> Неопределено Тогда
Копия.Закрыть();
КонецЕсли;
Если Поток <> Неопределено Тогда
Поток.Закрыть();
КонецЕсли;
Если СозданСвойФайл И УчебныйФайл.Существует() Тогда
УчебныйФайл.УстановитьТолькоЧтение(Ложь);
УчебныйФайл.УстановитьНевидимость(Ложь);
КонецЕсли;
Если СозданСвойФайл Тогда
УдалитьФайлы(ИмяФайла);
КонецЕсли;
Сообщить(Не УчебныйФайл.Существует());
КонецПроцедурыРазбор по шагам
Файл создан самим уроком; перед установкой времени закрыт записывающий поток.
Дата здесь по договорённости представляет UTC, а не «12 часов в Москве».
Читаем обратным универсальным методом и сравниваем именно с заданным UTC. Не записываем ничего после проверки времени.
Как проверить результат
На Windows/NTFS три сравнения Истина: заданное UTC, тип Дата и размер 6.
Местное время может отличаться по часовому поясу; часовой пояс и системные часы урок не меняет.
Последнее сравнение Истина: собственный временный файл удалён после снятия readonly/скрытости.
Ожидаемый результат
Показан контракт универсального времени изменения файла.
На что обратить внимание
Файловые системы могут иметь другую точность отметок времени; расхождение надо диагностировать, а не объявлять успехом.
На Windows время раньше 1601-01-01 UTC недопустимо для данного API. Здесь дата 2026 года.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.