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

Учебные задачи

Собственный существующий файл 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. После записи размер 1 байт для показанного исходного состояния.

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

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

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

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

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

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

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

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

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

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

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

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