Имя: Пароль:
1C
 
Запись текстового файла в zip архив.
0 Haze
 
08.08.19
12:32
Есть папка куда вышражаются текстовые файлы, нужно чтобы все это текстовые файлы попадали в этот архив, а попадают всего 2 из n-го количества.

ЗаписьZIP = Новый ЗаписьZipФайла(КаталогВыгрузки+"\Архив ("+Формат(ТекущаяДата(),"ДЛФ=DD")+").zip",
          "",
          "Комментарий",
          МетодСжатияZIP.Сжатие,
          УровеньСжатияZIP.Максимальный,
          МетодШифрованияZIP.Zip20);

ЗаписьZIP.Добавить(КаталогВыгрузки+"\"+Формат(ДатаВыгрузки,"ДФ=yyyyMMdd")+"_"+Префикс+УдалитьПерфикс(Номер)+"_transfer.txt");
ЗаписьZIP.Добавить(КаталогВыгрузки+"\"+ТекстовыйФайл.ИспользуемоеИмяФайла);
ЗаписьZIP.Записать();
1 lodger
 
08.08.19
12:52
ну судя по коду ты 2 файла и закинул. в чем проблем-с?
2 Haze
 
08.08.19
13:08
(1) А как закинуть все txt файлы? С маской "*.txt" не получатеся(
3 lodger
 
08.08.19
13:11
между
ЗаписьZIP = Новый ЗаписьZipФайла
И
ЗаписьZIP.Записать();

надо сделать поиск файлов С маской "*.txt" и каждый поименно ЗаписьZIP.Добавить
4 dka80
 
08.08.19
13:14
МассивФайлов = НайтиФайлы(КаталогСканов,, ИскатьВПодкаталогах);
    Для каждого Файл Из МассивФайлов Цикл
ЗаписьZIP.Добавить(
5 Фомич
 
08.08.19
13:17
Попытка
            ФайлАрхива = ИмяКаталога +"\"+ ИмяФайлаОбмена;
            Архиватор = Новый ЗаписьZipФайла(ФайлАрхива, , "Файл c данными");
            СписокФайловXML = НайтиФайлы(ИмяКаталога + "\tmp\", "*.*");
            Если СписокФайловXML.Количество() = 0 Тогда Возврат; КонецЕсли;
            
            Для Индекс = 0 По СписокФайловXML.ВГраница() Цикл
                Файл = СписокФайловXML[Индекс];
                Архиватор.Добавить(Файл.ПолноеИмя);
                ЭлементыФормы.ПоясняющийТекст.Заголовок = (Файл.ПолноеИмя);
            КонецЦикла;
            
            Архиватор.Записать();
            ЭлементыФормы.ПоясняющийТекст.Заголовок = ("Запись полученного архива на диск");
            
        Исключение
            
            Сообщить(ИнформацияОбОшибке());
            
        КонецПопытки;