OneScript icon indicating copy to clipboard operation
OneScript copied to clipboard

При добавлении Каталога с подкаталогами в архив, рушится оригинальная структура папок.

Open Tavalik opened this issue 7 years ago • 5 comments

Опять про архивирование:

Неправильно (по крайней мере, не как в 1С) отрабатывает параметр "РежимСохраненияПутейZIP.СохранятьОтносительныеПути" в паре с "РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно", если путь заканчивается символом " \ ". Код:

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

В архиве структура папок "рушится", папки внутри каталога "съезжают" на верхний уровень. В 1С работает правильно.

Пример: Исходная структура: -КаталогУровень1 --Файл1.txt --КаталогУровень2 ---Файл2.txt

Структура в архиве: -КаталогУровень1 --Файл1.txt -КаталогУровень2 --Файл2.txt

Если слеш в пути убрать, то отрабатывает без ошибок. Код:

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

В 1С:Предприятие 8.3 (8.3.8.2054) отрабатывает без ошибок в любом случае.

Tavalik avatar May 11 '17 06:05 Tavalik

Я функции зипа по поведению тырил у 1С. И там этот слэш учитывался. Но было давно, возможно это фиксили и нам надо отрефлексировать это.

EvilBeaver avatar May 11 '17 09:05 EvilBeaver

Бэкпортнуть*

nixel2007 avatar May 11 '17 16:05 nixel2007

кто еще знает уголовный жаргон?

EvilBeaver avatar May 12 '17 08:05 EvilBeaver

Проверю поведение на своем PR https://github.com/EvilBeaver/OneScript/pull/632

artbear avatar Dec 25 '17 11:12 artbear

@EvilBeaver Я вручную проверил на своих доработках. Бага нет. Возвращается правильная структура

artbear avatar Dec 25 '17 11:12 artbear