OneScript
OneScript copied to clipboard
При добавлении Каталога с подкаталогами в архив, рушится оригинальная структура папок.
Опять про архивирование:
Неправильно (по крайней мере, не как в 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) отрабатывает без ошибок в любом случае.
Я функции зипа по поведению тырил у 1С. И там этот слэш учитывался. Но было давно, возможно это фиксили и нам надо отрефлексировать это.
Бэкпортнуть*
кто еще знает уголовный жаргон?
Проверю поведение на своем PR https://github.com/EvilBeaver/OneScript/pull/632
@EvilBeaver Я вручную проверил на своих доработках. Бага нет. Возвращается правильная структура