Открывает Fast Infoset-файл для чтения данным объектом. Если перед вызовом данного метода уже производилось чтение данных из другого файла, то чтение прекращается и объект инициализируется для чтения из указанного файла.
Синтаксис
ОткрытьФайл(<ИмяФайла>)Примеры платформы
Чтение = Новый ЧтениеFastInfoset;
Чтение.ОткрытьФайл("d:/performance.fi");Полное описание, параметры и ограничения
ЧтениеFastInfoset.ОткрытьФайл (FastInfosetReader.OpenFile)
ЧтениеFastInfoset (FastInfosetReader)
ОткрытьФайл (OpenFile)
Доступен, начиная с версии 8.1.
Синтаксис:
ОткрытьФайл(<ИмяФайла>)
Параметры:
<ИмяФайла> (обязательный)
Тип: Строка.
Имя файла в формате Fast Infoset.
Описание:
Открывает Fast Infoset-файл для чтения данным объектом. Если перед вызовом данного метода уже производилось чтение данных из другого файла, то чтение прекращается и объект инициализируется для чтения из указанного файла.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Пример:
Чтение = Новый ЧтениеFastInfoset;
Чтение.ОткрытьФайл("d:/performance.fi");
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Создать и удалить только собственный временный Fast Infoset-файл
Путь выдаёт платформа. Упражнение запрещает подмену имени существующим руководством, архивом или каталогом проекта.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Учебная база на платформе 8.5.1.1343. Создайте серверный общий модуль УчебныеЗадачи и процедуру ВыполнитьПример() Экспорт; код урока без директив вставляйте в её тело. Каждый урок запускайте отдельно.
Все документы создаются из собственных строк и чисел в памяти. Не подставляйте файл XML, бинарный архив обмена, ссылки или данные рабочей базы вместо учебных значений.
Fast Infoset — двоичное представление XML. Для чтения нужен соответствующий reader, а не преобразование байтов в UTF-8-строку. Это не формат API Avito и не автоматическое сжатие произвольного JSON.
Запуск в 1С ещё не подтверждён; выполните контрольные проверки в учебной базе. Не сравнивайте точные байты двух кодировщиков: в заданиях проверяется восстановленная структура и значения.
Это отдельное файловое упражнение: оно при вашем запуске создаёт и удаляет только один новый временный .fi-файл. Используйте учебную базу и разрешённый временный каталог сервера.
Никогда не заменяйте ПолучитьИмяВременногоФайла существующим путём. В УдалитьФайлы передаётся только полученное имя без маски и без рекурсивного удаления.
ИмяУчебногоФайла = ПолучитьИмяВременногоФайла("fi");
Сообщить("Собственный временный файл на сервере: " + ИмяУчебногоФайла);
Запись = Новый ЗаписьFastInfoset;
Чтение = Новый ЧтениеFastInfoset;
ЗаписьОткрыта = Ложь;
ЧтениеОткрыто = Ложь;
Попытка
Запись.ОткрытьФайл(ИмяУчебногоФайла);
ЗаписьОткрыта = Истина;
Запись.ЗаписатьНачалоЭлемента("product");
Запись.ЗаписатьАтрибут("code", "A-01");
Запись.ЗаписатьАтрибут("quantity", "3");
Запись.ЗаписатьТекст("Книга");
Запись.ЗаписатьКонецЭлемента();
РезультатЗакрытия = Запись.Закрыть();
ЗаписьОткрыта = Ложь;
Сообщить(РезультатЗакрытия = Неопределено);
УчебныйФайл = Новый Файл(ИмяУчебногоФайла);
Сообщить(УчебныйФайл.Существует());
Чтение.ОткрытьФайл(ИмяУчебногоФайла);
ЧтениеОткрыто = Истина;
Название = "";
Пока Чтение.Прочитать() Цикл
Если Чтение.ЭтоСимвольныеДанные Тогда
Название = Название + Чтение.Значение;
КонецЕсли;
КонецЦикла;
Сообщить(Название = "Книга");
Чтение.Закрыть();
ЧтениеОткрыто = Ложь;
Исключение
Если ЧтениеОткрыто Тогда
Чтение.Закрыть();
КонецЕсли;
Если ЗаписьОткрыта Тогда
Запись.Закрыть();
КонецЕсли;
ПроверкаФайла = Новый Файл(ИмяУчебногоФайла);
Если ПроверкаФайла.Существует() Тогда
УдалитьФайлы(ИмяУчебногоФайла);
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
УдалитьФайлы(ИмяУчебногоФайла);
ПроверкаУдаления = Новый Файл(ИмяУчебногоФайла);
Сообщить(Не ПроверкаУдаления.Существует());Разбор по шагам
Новое временное имя получается на сервере, где выполняется код; путь может отличаться от пути на вашем клиентском ПК.
Writer пишет один собственный товар, закрывает файл и возвращает Неопределено согласно файловому варианту.
Reader читает тот же конкретный новый файл и проверяет кириллическое название.
Закрываем ресурсы перед удалением. В ошибочной ветке проверяем наличие только этого файла, затем сохраняем исключение.
Как проверить результат
Четыре проверки ожидаются Истина: файловый результат Неопределено, существование до чтения, название Книга и отсутствие после удаления.
Вывод содержит точное имя файла; руководство HTML, исходные XML и рабочие данные базы не изменяются.
Ожидаемый результат
Показан полный безопасно ограниченный жизненный цикл собственного временного двоичного XML-файла.
На что обратить внимание
.fi — двоичный файл: открытие блокнотом не является проверкой правильности XML.
Если у сервера нет разрешения на временный каталог, исправьте учебное окружение; не выбирайте чужую существующую папку и не запускайте с повышением прав автоматически.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.