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