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