наверх
Свободные IT публикации
быстро и доступно
логин:
пароль:

Работа с файлами в 1С 8.x


Как организовать диалог выбора текстового файла?

Режим = РежимДиалогаВыбораФайла.Открытие; 
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); 
ДиалогОткрытияФайла.ПолноеИмяФайла = ""; 
Фильтр = "Текст(*,txt)|*.txt"; 
ДиалогОткрытияФайла.Фильтр = Фильтр; 
ДиалогОткрытияФайла.МножественныйВыбор = Ложь; 
ДиалогОткрытияФайла.Заголовок = "Выберите файл"; 

Если ДиалогОткрытияФайла.Выбрать() Тогда 
	ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла; 
КонецЕсли;

Режим = РежимДиалогаВыбораФайла.ВыборКаталога; 
ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим); 
ДиалогОткрытия.Каталог = ""; 
ДиалогОткрытия.МножественныйВыбор = Ложь; 
ДиалогОткрытия.Заголовок = "Выберите каталог"; 

Если ДиалогОткрытия.Выбрать() Тогда 
	ПутьККаталогу = ДиалогОткрытия.Каталог; 
КонецЕсли;

Как прочитать информацию о файле?

ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); 
ДиалогОткрытияФайла.Выбрать(); 

Файл = Новый Файл(ДиалогОткрытияФайла.ПолноеИмяФайла); 
Текст = "Файл: " + Файл.Имя; 
Текст = Текст + Символы.ПС + "Расширение: " + Файл.Расширение; 
Текст = Текст + Символы.ПС + "Полное имя: " + Файл.ПолноеИмя; 
Текст = Текст + Символы.ПС + "Путь: " + Файл.Путь; 
Текст = Текст + Символы.ПС + "Размер: " + Файл.Размер() + " байт"; 
Текст = Текст + ?(Файл.ПолучитьНевидимость(), Символы.ПС + "Невидимый. ", ""); 
Текст = Текст + ?(Файл.ПолучитьТолькоЧтение(), Символы.ПС + "Только чтение.", ""); 
Текст = Текст + Символы.ПС + "Последнее изменение: " + Файл.ПолучитьВремяИзменения(); 

Сообщить(Текст);

Как получить список файлов в указанном каталоге?

МассивНайденных = НайтиФайлы("C:\Обмен\Входящие", "*.xml"); 

Для Каждого Файл из МассивНайденных Цикл 
	Сообщить(Файл.Имя); 
	// Обработать найденные файлы. 
КонецЦикла;

Как переместить файл, выложенный на ftp к себе на локальный компьютер?

Если НайтиФайлы("C:\Temp\Sklad.xml") <> Неопределено Тогда 
	УдалитьФайлы("C:\Temp\ Sklad.xml "); 
КонецЕсли; 

Если НайтиФайлы("ftp://111.222.333.4/Sklad.xml") <> Неопределено Тогда 
	ПереместитьФайл("ftp://111.222.333.4/Sklad.xml", "C:\Temp\ Sklad.xml"); 
	Сообщить("Файл перемещен."); 
Иначе 
	Сообщить("Действие не выполнено. Файл в источнике не найден."); 
КонецЕсли;

Как разделить большой файл на несколько файлов определенного размера?

//Разделяем указанный файл на несколько частей заданного размера
РазделитьФайл("D:/1/MyFile.xml", 1024*1024, "D:/1/11/"); 

// Обратная операция - объединение нескольких файлов в один
ОбъединитьФайлы("D:/1/11/MyFile.xml.*", "D:/1/11/MyProg.exe");

Как поместить файлы в архив?

ФайлАрхива = Новый ЗаписьZipФайла("C:\Arch.zip", , , 
МетодСжатияZIP.Сжатие, УровеньСжатияZIP.Максимальный); 
ФайлАрхива.Добавить("C:\Inetpub\wwwroot\Applic1\*.*", 
РежимСохраненияПутейZIP.СохранятьОтносительныеПути, 
РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно); 
ФайлАрхива.Записать(); 

ФайлАрхива = Новый ЧтениеZIPФайла("C:\Arch.zip"); 
ФайлАрхива.ИзвлечьВсе("C:\Open", РежимВосстановленияПутейФайловZIP.Восстанавливать); 
ФайлАрхива.Закрыть();

Как сравнить два текстовых файла?

ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); 
ДиалогОткрытияФайла.Фильтр = "Текстовый документ(*.txt)|*.txt"; 

// Выбрать первый файл. 
ДиалогОткрытияФайла.Заголовок = "Выберите первый файл:"; 
ДиалогОткрытияФайла.Выбрать(); 
ИмяФайла1 = ДиалогОткрытияФайла.ПолноеИмяФайла; 

// Выбрать второй файл. 
ДиалогОткрытияФайла.Заголовок = "Выберите второй файл:"; 
ДиалогОткрытияФайла.Выбрать(); 
ИмяФайла2 = ДиалогОткрытияФайла.ПолноеИмяФайла; 

// Сравнить выбранные файлы. 
СравнениеФайлов = Новый СравнениеФайлов(); 
СравнениеФайлов.ПервыйФайл = ИмяФайла1; 
СравнениеФайлов.ВторойФайл = ИмяФайла2; 
СравнениеФайлов.ИгнорироватьПустоеПространство = Истина; 
СравнениеФайлов.СпособСравнения = СпособСравненияФайлов.ТекстовыйДокумент; 

СравнениеФайлов.ПоказатьРазличия();

Как организовать контроль формирования файла внешним приложением?

Процедура ПроверкаНаличияФайла() ИмяКаталога = "c:\temp"; 

	Маска = "*.xml"; 
	НайденныеФайлы = НайтиФайлы(ИмяКаталога, Маска); 

	Для Каждого Файл Из НайденныеФайлы Цикл 
		Сообщить(Файл.Имя); 
	КонецЦикла; 

КонецПроцедуры 

ПодключитьОбработчикОжидания("ПроверкаНаличияФайла", 10);