Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут!

Работа с файлами в 1С 8.3 (8.2)

В 1С 8.3 (8.2) для работы с файлами существует два объекта: Файл и ДиалогВыбораФайла.

Рассмотрим каждый по отдельности.

Объект 1С — файл

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

Сразу стоит заметить, что данный объект не предназначен для чтения и записи из файлов.

Например, прочитаем параметры некоторого файла, находящегося на диске C:

ПолноеИмяФайла = "C:\Работа с файлами\статья.txt";
ВыбранныйФайл = Новый Файл(ПолноеИмяФайла);
Если ВыбранныйФайл.Существует() Тогда
СтрокаПараметров = "Параметры файла:"+Символы.ПС +
"Полное имя файла: "+ ВыбранныйФайл.ПолноеИмя + Символы.ПС +
"Имя: "+ ВыбранныйФайл.Имя + Символы.ПС +
"Имя без расширения: "+ ВыбранныйФайл.ИмяБезРасширения+Символы.ПС+
"Расширение: "+ ВыбранныйФайл.Расширение+ Символы.ПС+
"Путь без имени: "+ ВыбранныйФайл.Путь+Символы.ПС+
"Размер: "+ ВыбранныйФайл.Размер()+ Символы.ПС+
"Это файл: "+ ВыбранныйФайл.ЭтоФайл()+ Символы.ПС+
"Изменен: "+ ВыбранныйФайл.ПолучитьВремяИзменения()+Символы.ПС+
"Только чтение: "+ ВыбранныйФайл.ПолучитьТолькоЧтение()+Символы.ПС+
"Невидимость: "+ ВыбранныйФайл.ПолучитьНевидимость();
Сообщить(СтрокаПараметров);
Иначе
Предупреждение("Файл не найден!");
КонецЕсли;

В результате мы получим следующую информацию (если файл найден):

Параметры файла:
Полное имя файла: C:\Работа с файлами\статья.txt
Имя: статья.txt
Имя без расширения: статья
Расширение: .txt
Путь без имени: C:\Работа с файлами\
Размер: 899
Это файл: Да
Изменен: 18.05.2015 16:21:28
Только чтение: Нет
Невидимость: Нет

Запись в файл

Теперь, когда мы выбрали и открыли файл, можно с ним работать, т.е. прочитать его содержимое или записать в него что-нибудь.
Рассмотрим пример:

Получите 267 видеоуроков по 1С бесплатно:

Если ЗначениеЗаполнено(ПутьКФайлу) Тогда
ТекстовыйДокИзФайла = Новый ТекстовыйДокумент;
ТекстовыйДокИзФайла.Прочитать(ПутьКФайлу);
НашТекстИзФайла = ТекстовыйДокИзФайла.ПолучитьТекст();
Сообщить(НашТекстИзФайла);
КонецЕсли;

Чтение файла в 1С

Часто бывает необходимо почитать текст файла построчно, например, для анализа каждой строки. Для этого используем объект ЧтениеТекста.

Пример:

ПрочитанныйТекст = Новый ЧтениеТекста(ПутьКФайлу);
СтрокаТекстовогоФайла = ПрочитанныйТекст.ПрочитатьСтроку();
Сообщить(СтрокаТекстовогоФайла);
Пока СтрокаТекстовогоФайла <> Неопределено Цикл
СтрокаТекстовогоФайла = ПрочитанныйТекст.ПрочитатьСтроку();
Сообщить(СтрокаТекстовогоФайла);
КонецЦикла;

ПрочитанныйТекст.Закрыть();

Запись текста из 1С в файл

Если ЗначениеЗаполнено(ПутьКФайлу) Тогда

ТекстовыйДокИзФайла = Новый ТекстовыйДокумент;
ТекстовыйДокИзФайла.ДобавитьСтроку("В траве сидел кузнечик");
ТекстовыйДокИзФайла.ДобавитьСтроку("Совсем как огуречик");
ТекстовыйДокИзФайла.ДобавитьСтроку("Зелененький он был");
ТекстовыйДокИзФайла.Записать(ПутьКФайлу, КодировкаТекста.UTF8);

Конецесли;

Заметим, что при записи текстового файла можно установить кодировку.

Копирование файла

Здесь все очень просто

КопироватьФайл(ПутьКФайлуИсточнику, ПутьКФайлуПриемнику);

Перемещение

ПереместитьФайл(ПутьКФайлуИсточнику, ПутьКФайлуПриемнику);

Удаление

Попытка
УдалитьФайлы("C:\Работа с файлами\статья.txt");
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

Диалог выбора файла

В указанных выше примерах есть одно неудобство. Путь к файлу прописан жестко в коде. Чтобы выбрать файл интерактивно, существует объект ДиалогВыбораФайла, о котором речь пойдет ниже.

Объект ДиалогВыбораФайла служит для открытия файла (файлов), сохранения файла или выбора каталога в диалоге специального вида.

Например, выберем и откроем некоторый файл с расширением txt:
Задаем режим диалога выбора. Доступны три варианта: ВыборКаталога, Открытие, Сохранение

Режим = РежимДиалогаВыбораФайла.Открытие;

Создаем диалог

ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытия.ПолноеИмяФайла = "";
Фильтр = "Текст, *.txt|*.txt";
ДиалогОткрытия.Фильтр = Фильтр;
ДиалогОткрытия.МножественныйВыбор = Истина;
ДиалогОткрытия.Заголовок = "Выберите файлы";
Если ДиалогОткрытия.Выбрать() Тогда
МассивВыбранныхФайлов = ДиалогОткрытия.ВыбранныеФайлы;
Для Каждого ИмяВыбранногоФайла Из МассивВыбранныхФайлов Цикл
ВыбранныйФайл = Новый Файл(ИмяВыбранногоФайла);
Сообщить(ИмяВыбранногоФайла
+ "; Размер = "
+ ВыбранныйФайл.Размер());
КонецЦикла;
Иначе
Предупреждение("Нет выбранных файлов!");
КонецЕсли;

P.S. Наша компания предоставляет услуги по настройке, доработке и комплексному внедрению 1С. Закажите бесплатный расчет стоимости вашей задачи на странице Услуги 1С или по телефону +7 (499) 350 29 00.

Остались вопросы?

Задайте ВОПРОС на нашем форуме 1С! ››

СПРОСИТЕ в комментариях!

Добавить комментарий:

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*