ZIP

Темы платформы

Синтаксис и применение ZIP в платформе 1С:Предприятие. Описание и примеры кода.

Полное описание, параметры и ограничения

ZIP

ZIP
Объекты для работы с ZIP-файлами.
Методическая информация

Практические примеры

Создать учебный ZIP: РежимСохраненияПутейZIP.СохранятьОтносительныеПути

При помещении в архив сохраняются относительные пути от указанного каталога. Значение применяется к конкретной операции из примера.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Пример запускается на сервере учебной базы под учётной записью с доступом к собственному каталогу C:\Temp\LearnZip\src. Это путь сервера 1С, не компьютера тонкого клиента.

  2. Вручную создайте там файл book.txt с несколькими строками учебного текста и подкаталог sub с файлом note.txt. Имена должны быть латинскими; секретов и рабочих документов в каталоге быть не должно.

  3. Код создаёт новый ZIP по уникальному временному имени и показывает его путь. Ранее существовавший архив не перезаписывается. После опыта удалите только созданные учебные файлы вручную.

КаталогИсточника = "C:\Temp\LearnZip\src";
ИмяАрхива = ПолучитьИмяВременногоФайла("zip");
Пароль = "";
Архив = Новый ЗаписьZipФайла(ИмяАрхива, Пароль, "Учебный архив",
    МетодСжатияZIP.Сжатие, УровеньСжатияZIP.Оптимальный,
    МетодШифрованияZIP.Zip20, КодировкаИменФайловВZipФайле.UTF8);
Архив.Добавить(КаталогИсточника + "\*.txt",
    РежимСохраненияПутейZIP.СохранятьОтносительныеПути, РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно);
Архив.Записать();
Чтение = Новый ЧтениеZipФайла(ИмяАрхива, Пароль);
Для Каждого Элемент Из Чтение.Элементы Цикл
    Сообщить(Элемент.ПолноеИмя + ": " + Строка(Элемент.РазмерНесжатого));
КонецЦикла;
Чтение.Закрыть();
Сообщить("Создан архив: " + ИмяАрхива);

Разбор по шагам

  1. Исходные файлы создаются вручную в отдельном каталоге; архив получает новое временное имя.

  2. Выбранное перечисление передаётся в соответствующий аргумент конструктора или метода.

  3. Записать завершает архив; чтение показывает реальные имена и размеры, затем закрывается.

Как проверить результат

  1. НеСохранятьПути даёт имена book.txt и note.txt, относительные пути сохраняют sub\note.txt; полные пути включают исходную структуру каталогов.

  2. Сравните ПолноеИмя каждого элемента. Этот вариант только читает содержимое архива, не распаковывает его.

Ожидаемый результат

Учебный архив создан с явно выбранным режимом.

На что обратить внимание

  1. Пароль в коде предназначен только для демонстрации; это не настоящий секрет.

  2. Распаковка непроверенного внешнего архива не входит в этот пример.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.