Администрирование · 9 мин
Как в 1С загрузить ZIP-архив
Способы загрузить ZIP-архив в 1С: обмен между базами, загрузка через обработки, распаковка средствами встроенного языка. Проверка результата и типичные ошибки.
ZIP-архивы в 1С встречаются постоянно: файлы обмена между базами, выгрузки из интернет-банков и маркетплейсов, пакеты электронных документов, архивы с отчётностью и вложениями из почты. Способ загрузки зависит от того, что находится внутри архива и какая конфигурация используется — универсальной кнопки «загрузить ZIP» в 1С нет.
Чаще всего задача решается одним из трёх путей: штатной обработкой обмена данными, внешней обработкой загрузки конкретного формата (например, выписок или прайсов) или программной распаковкой средствами встроенного языка. Ниже разобраны все три сценария с проверкой результата и типичными ошибками.
Определите, что находится внутри архива
Перед загрузкой откройте архив обычным архиватором и посмотрите состав файлов. От этого зависит весь дальнейший порядок действий: файл обмена данными XML загружается одним способом, выписка банка — другим, набор картинок номенклатуры — третьим.
Обратите внимание на расширения и имена файлов. Файл вида «Message_ИБ1_ИБ2.xml» — это сообщение универсального обмена между информационными базами. Файлы с расширениями txt или xml от банка — выписки для клиент-банка. Каталоги с изображениями и CSV — выгрузки каталога товаров.
Если архив пришёл из внешнего источника и его происхождение не подтверждено, проверьте его антивирусом до распаковки и не открывайте исполняемые файлы из архива — внутри ZIP встречаются вредоносные вложения, замаскированные под документы.
Загружать через обработку «Универсальный обмен данными в формате XML»
Загружать в разделе «Банк» — «Обмен с банком»
Нужна обработка загрузки данных из табличного документа
Открываются через меню «Файл — Открыть» или конфигуратор
Загрузка файла обмена данными между базами
Если в архиве лежит файл обмена XML, его сначала нужно извлечь из ZIP. Штатная обработка «Универсальный обмен данными в формате XML» работает с распакованным файлом, поэтому сохраните XML на диск в папку, к которой есть доступ у пользователя 1С.
Порядок загрузки: откройте в базе-приёмнике обработку «Универсальный обмен данными в формате XML» (в типовых конфигурациях она находится в разделе администрирования или открывается как внешняя обработка через «Файл — Открыть»). Перейдите на закладку «Загрузка данных», укажите путь к извлечённому XML-файлу и нажмите «Загрузить данные».
Перед загрузкой в рабочую базу проверьте файл на копии. Обмен данными может создавать и изменять большое количество объектов, и отменить результат пакетной загрузки штатными средствами нельзя — только восстановлением из резервной копии.
Загрузка выписок, прайсов и других файлов через штатные обработки
Большинство типовых конфигураций имеют встроенные загрузчики, которые сами умеют принимать архив или требуют предварительной распаковки. Банковские выписки загружаются в разделе «Банк и касса» — «Обмен с банком»: укажите файл выписки, и программа сопоставит операции с контрагентами и договорами.
Прайсы и каталоги поставщиков в торговых конфигурациях загружаются через обработку «Загрузка данных из файла» (обычно доступна из карточки справочника «Номенклатура» или из раздела закупок). Обработка принимает табличные форматы — XLSX, CSV, MXL, — поэтому ZIP сначала распаковывают.
Электронные документы (УПД, акты в формате ЭДО) часто приходят именно в ZIP-архивах. В конфигурациях с подсистемой ЭДО загрузка выполняется из раздела обмена электронными документами, и часть решений умеет принимать архив целиком без ручной распаковки.
Как выбрать способ загрузки
Программная распаковка ZIP средствами 1С
Когда загрузку нужно автоматизировать — например, забирать архивы из почты или каталога по расписанию, — используют объект встроенного языка «ЧтениеZipФайла». Он позволяет открыть архив, просмотреть состав и извлечь файлы в указанный каталог без сторонних программ.
Типовой фрагмент кода выглядит так: создаётся объект ЧтениеZipФайла с указанием пути к архиву, затем вызывается метод «ИзвлечьВсе» с каталогом назначения, после чего объект закрывается. Дальше извлечённые файлы обрабатываются обычными средствами — чтением XML, табличного документа или текста.
ЧтениеZip = Новый ЧтениеZipФайла("C:\Обмен\archive.zip");
ЧтениеZip.ИзвлечьВсе("C:\Обмен\Распаковано", РежимВосстановленияПутейФайловZIP.Восстанавливать);
ЧтениеZip.Закрыть();Для записи архивов существует парный объект «ЗаписьZipФайла» — он пригодится, если нужно наоборот упаковать выгрузку перед отправкой. Оба объекта работают и на толстом, и на тонком клиенте, а также на сервере, что позволяет выполнять распаковку в фоновых заданиях.
Учитывайте ограничение: стандартные объекты работают с классическим форматом ZIP. Архивы RAR, 7z и запароленные ZIP с нестандартным шифрованием ими не открываются — такие файлы придётся распаковывать внешним архиватором до загрузки в 1С.
Загрузка архива как вложения в базу
Иногда задача — не распаковать архив, а сохранить его в базе как присоединённый файл: к договору, письму, карточке номенклатуры. В типовых конфигурациях на БСП для этого есть механизм присоединённых файлов: в карточке объекта нажмите скрепку или кнопку «Присоединить», выберите ZIP-файл, и он будет сохранён в информационной базе или в томе хранения файлов.
Такой способ подходит для архивов с подтверждающими документами, сканами и пакетами ЭДО, когда содержимое архива обрабатывать не нужно, а требуется только хранение и доступ по ссылке из объекта учёта.
Проверка результата и типичные ошибки
После загрузки обязательно сверьте результат с источником. Для обмена данными — количество загруженных объектов в протоколе обработки и контрольные остатки по ключевым регистрам. Для выписок — итоговые суммы по операциям с выпиской банка. Для номенклатуры — число созданных позиций и корректность цен у нескольких товаров выборочно.
Частая ошибка — попытка загрузить ZIP напрямую в обработку, которая ждёт распакованный файл: программа либо выдаст ошибку формата, либо «успешно» загрузит пустой набор данных. Вторая типичная ситуация — нарушение кодировки имён файлов при распаковке архивов, созданных на другой платформе: кириллические имена превращаются в нечитаемые символы, и файлы потом сложно идентифицировать.
Ещё одна группа проблем — права доступа. При распаковке на сервере 1С каталог назначения должен быть доступен учётной записи, под которой работает агент сервера, а не пользователю, запустившему обработку. Из-за этого фоновая загрузка «молча» завершается ошибкой, хотя вручную тот же код отрабатывает.
Как проверить результат
Нет строк с ошибками, число объектов совпадает с источником
Есть записи об ошибках сопоставления или отказе в записи
Итоги по выписке или оборотам совпадают с документом-источником
Суммы расходятся — загрузка неполная или с дублями
Все файлы из архива присутствуют, имена читаемы
Часть файлов отсутствует, имена в нечитаемой кодировке
Частые вопросы
Можно ли загрузить ZIP-архив в 1С, не распаковывая его?
Только если конкретная обработка это поддерживает: некоторые механизмы обмена с банками и ЭДО принимают архив целиком. Универсальные обработки обмена данными и загрузки табличных данных требуют предварительной распаковки файла на диск.
Чем открыть ZIP-архив внутри 1С без сторонних программ?
Объектом встроенного языка «ЧтениеZipФайла»: он извлекает содержимое в указанный каталог и работает на клиенте и на сервере. Ограничение — только классический формат ZIP без экзотического шифрования.
Почему после распаковки имена файлов отображаются нечитаемыми символами?
Архив создан в системе с другой кодировкой имён файлов. Решение — распаковать архив современным архиватором, который корректно определяет кодировку, или извлекать файлы программно с переименованием по шаблону.
Как загрузить архив RAR или 7z в 1С?
Штатные объекты 1С работают только с ZIP. RAR и 7z нужно сначала распаковать внешним архиватором (например, 7-Zip) в каталог на диске, после чего загружать извлечённые файлы обычным способом или обрабатывать программно.
Безопасно ли открывать ZIP-архивы, полученные по почте?
Нет, без проверки — архивы часто используются для доставки вредоносных вложений. Проверяйте архив антивирусом, не запускайте исполняемые файлы из архива и загружайте только данные от подтверждённых контрагентов.
Что делать, если фоновая загрузка архива завершается ошибкой, а ручная работает?
Проверьте права учётной записи агента сервера 1С на каталог распаковки и путь к архиву: фоновое задание выполняется на сервере под другой учётной записью, и сетевые пути вида «буква диска» для неё недоступны — используйте UNC-пути.
Что важно запомнить
ZIP в 1С загружается через целевую обработку под конкретный формат содержимого: обмен данными, выписки, прайсы или ЭДО. При отсутствии штатного инструмента архив распаковывается объектом ЧтениеZipФайла. Перед любой загрузкой делайте резервную копию и проверяйте результат по протоколу и контрольным суммам.