Выбор файлов и каталогов
Для выбора некоторого файла и получения его полного пути для чтения или записи применяется объект типа ДиалогВыбораФайла, который откроет окно выбора при вызове метода .Показать(), а после завершения выбора файла или файлов вызовет заданное оповещение с массивом путей выбранных файлов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
&НаКлиенте ... ДиалогФыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); ДиалогФыбораФайла.Фильтр = "Книга Excel XLSX (*.xlsx)"; ДиалогФыбораФайла.Расширение = "xlsx"; ДиалогФыбораФайла.Заголовок = "Виберіть файл"; ДиалогФыбораФайла.Режим = РежимДиалогаВыбораФайла.Сохранение; ПроверятьСуществованиеФайла = Истина; ДиалогФыбораФайла.ИндексФильтра = 0; ДиалогФыбораФайла.Показать(Новый ОписаниеОповещения("ОповещениеВыбораФайла", ЭтотОбъект, Новый Структура("ТабличныйДокумент", ТабличныйДокумент))); ... &НаКлиенте Процедура ОповещениеВыбораФайла(ИменаФайловМассив, ДополнительныеПараметры) Экспорт Если ИменаФайловМассив <> Неопределено Тогда Для Каждого ИмяФайла Из ИменаФайловМассив Цикл ДополнительныеПараметры.ТабличныйДокумент.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX); КонецЦикла; КонецЕсли; КонецПроцедуры |
Оповещение о выборе вызывается в любом случае, даже если выбор будет отменен, но в таком случае вместо массива путей передается Неопределено.
Запись файлов
Запись текстовых файлов НаКлиенте и НаСервере реализуется объектом типа ЗаписьТекста:
- Новый ЗаписьТекста(<ИмяФайла>, <Кодировка>, <РазделительСтрок>, <Дописывать>, <КонвертируемыйРазделительСтрок>)
- Новый ЗаписьТекста(<Поток>, <Кодировка>, <РазделительСтрок>, <КонвертируемыйРазделительСтрок>, <ЗаписатьBOM>)
- Открыть(<ИмяФайла>, <Кодировка>, <РазделительСтрок>, <Дописывать>, <КонвертируемыйРазделительСтрок>)
- Записать(<Строка>) записи строки в файл как есть, без разделителя
- ЗаписатьСтроку(<Строка>, <Разделитель>) записи в файл строки завершенной разделителем
- Закрыть()
Пример:
1 2 3 4 |
Текст = Новый ЗаписьТекста; Текст.Открыть(ПолноеИмяФайла, КодировкаТекста.UTF8); Текст.Записать("<?xml version='1.0' encoding='UTF-8'?>"); Текст.Закрыть(); |
Запись табличных документов в форматах
Документ = Новый ТекстовыйДокумент;
...
//
Запись табличных документов доступен в форматах:
- ANSITXT (ANSITXT)
- DOCX (DOCX)
- HTML (HTML)
- HTML3 (HTML3)
- HTML4 (HTML4)
- HTML5 (HTML5)
- MXL (MXL)
- MXL7 (MXL7)
- ODS (ODS)
- PDF (PDF)
- PDF_A_1 (PDF_A_1)
- PDF_A_2 (PDF_A_2)
- PDF_A_3 (PDF_A_3)
- TXT (TXT)
- XLS (XLS)
- XLS95 (XLS95)
- XLS97 (XLS97)
- XLSX (XLSX)
1 |
ТабличныйДокумент.Записать(ИмяФайла, ТипФайлаТабличногоДокумента .XLSX); |
//
Запись текста в кодировке UTF-8 без BOM
Маркер последовательности байтов или метка порядка байтов (англ. Byte Order Mark, BOM) — специальный символ из стандарта Юникод, вставляемый в начало текстового файла или потока для обозначения того, что в файле (потоке) используется Юникод, а также для косвенного указания кодировки и порядка байтов, с помощью которых символы Юникода были закодированы. BOM для UTF-8 образуется тремя байтами EF BB BF, которые не отображаются программами просмотра, но оказывают на них влияние. Для случаев негативного влияния и для исключения BOM из начала файла, файл следует создать в кодировке ANSI, а затем дописать его в кодировке UTF-8:
1 2 3 4 5 |
ФайлБезBOM = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.ANSI); ФайлБезBOM.Закрыть(); ФайлБезBOM = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.UTF8,, Истина, Символы.ПС); ФайлБезBOM.Записать(Данные); ФайлБезBOM.Закрыть(); |
Управление файловой системой
МенеджерФайловыхПотоков.
Источники