ДоступКФайлу

Темы платформы · FileAccess

Определяет возможные способы доступа к файлу.

Полное описание, параметры и ограничения

ДоступКФайлу (FileAccess)

ДоступКФайлу (FileAccess)

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

Значения
Запись (Write)
Чтение (Read)
ЧтениеИЗапись (ReadAndWrite)

Описание:

Определяет возможные способы доступа к файлу.

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

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

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

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

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

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

Использовать РежимОткрытияФайла.Дописать только со своим временным файлом

Свой файл ABC уже существует, запись Z добавляется в конец.

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

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

Подготовка

  1. Тело серверной процедуры своей учебной обработки. Путь получайте только через ПолучитьИмяВременногоФайла; не заменяйте его рабочим файлом, каталогом базы или пользовательским документом.

  2. Это реальный пример файлового API: при ручном запуске создаётся один собственный временный файл, записывается один байт 90 (латинская Z), затем именно этот файл удаляется.

  3. Режим открытия и уровень доступа — разные параметры. Для Дописать явно задан только доступ Запись; чтение в этом уроке не требуется.

  4. Справочник код не выполняет: при подготовке HTML ни временный BSL-файл, ни рабочие файлы не создавались и не удалялись.

Путь = ПолучитьИмяВременногоФайла("bin");
Исходные = ПолучитьДвоичныеДанныеИзСтроки("ABC", КодировкаТекста.UTF8);
Исходные.Записать(Путь);
Буфер = Новый БуферДвоичныхДанных(1);
Буфер[0] = 90;
Поток = Новый ФайловыйПоток(Путь, РежимОткрытияФайла.Дописать, ДоступКФайлу.Запись);
Попытка
    Поток.Записать(Буфер, 0, 1);
    Сообщить("Размер своего файла: " + Строка(Поток.Размер()));
    Поток.Закрыть();
Исключение
    Поток.Закрыть();
    ВызватьИсключение;
КонецПопытки;
УдалитьФайлы(Путь);

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

  1. Получаем новое собственное временное имя. Для всех режимов, кроме СоздатьНовый, заранее записываем три байта ABC.

  2. Свой файл ABC уже существует, запись Z добавляется в конец.

  3. Записать получает буфер, смещение 0 и количество 1. Закрыть освобождает поток перед удалением своего файла.

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

  1. После записи размер 4 байт для показанного исходного состояния.

  2. Путь не публикуется как постоянный результат: после закрытия собственный временный файл удалён. При ошибке файл может остаться для разбора; удаляйте только явно созданный собственный путь.

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

Конкретный режим открытия использован с известным исходным состоянием собственного временного файла.

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

  1. Создать / Обрезать могут уничтожить содержимое существующего файла: никогда не подставляйте чужой путь вместо нового временного имени.

  2. СоздатьНовый и Открыть требуют разного исходного состояния; их нельзя демонстрировать одним заранее существующим файлом.

  3. Запись в поток не равнозначна записи документа 1С. УдалитьФайлы получает единственный конкретный путь, не маску или каталог.

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

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

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

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

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