К статье
Практический материал

Администрирование · 9 мин

Как в 1С загрузить ZIP-архив

Способы загрузить ZIP-архив в 1С: обмен между базами, загрузка через обработки, распаковка средствами встроенного языка. Проверка результата и типичные ошибки.

ZIP-архивы в 1С встречаются постоянно: файлы обмена между базами, выгрузки из интернет-банков и маркетплейсов, пакеты электронных документов, архивы с отчётностью и вложениями из почты. Способ загрузки зависит от того, что находится внутри архива и какая конфигурация используется — универсальной кнопки «загрузить ZIP» в 1С нет.

Чаще всего задача решается одним из трёх путей: штатной обработкой обмена данными, внешней обработкой загрузки конкретного формата (например, выписок или прайсов) или программной распаковкой средствами встроенного языка. Ниже разобраны все три сценария с проверкой результата и типичными ошибками.

Определите, что находится внутри архива

Перед загрузкой откройте архив обычным архиватором и посмотрите состав файлов. От этого зависит весь дальнейший порядок действий: файл обмена данными XML загружается одним способом, выписка банка — другим, набор картинок номенклатуры — третьим.

Обратите внимание на расширения и имена файлов. Файл вида «Message_ИБ1_ИБ2.xml» — это сообщение универсального обмена между информационными базами. Файлы с расширениями txt или xml от банка — выписки для клиент-банка. Каталоги с изображениями и CSV — выгрузки каталога товаров.

Если архив пришёл из внешнего источника и его происхождение не подтверждено, проверьте его антивирусом до распаковки и не открывайте исполняемые файлы из архива — внутри ZIP встречаются вредоносные вложения, замаскированные под документы.

Message_*.xml внутриФайл обмена между базами 1С

Загружать через обработку «Универсальный обмен данными в формате XML»

TXT/XML от банкаВыписка клиент-банка

Загружать в разделе «Банк» — «Обмен с банком»

CSV, XLSX, картинкиВыгрузка каталога или прайса

Нужна обработка загрузки данных из табличного документа

MXL, EPF, CF, DTФайлы 1С: печатные формы, обработки, выгрузки

Открываются через меню «Файл — Открыть» или конфигуратор

Загрузка файла обмена данными между базами

Если в архиве лежит файл обмена XML, его сначала нужно извлечь из ZIP. Штатная обработка «Универсальный обмен данными в формате XML» работает с распакованным файлом, поэтому сохраните XML на диск в папку, к которой есть доступ у пользователя 1С.

Порядок загрузки: откройте в базе-приёмнике обработку «Универсальный обмен данными в формате XML» (в типовых конфигурациях она находится в разделе администрирования или открывается как внешняя обработка через «Файл — Открыть»). Перейдите на закладку «Загрузка данных», укажите путь к извлечённому XML-файлу и нажмите «Загрузить данные».

Перед загрузкой в рабочую базу проверьте файл на копии. Обмен данными может создавать и изменять большое количество объектов, и отменить результат пакетной загрузки штатными средствами нельзя — только восстановлением из резервной копии.

Загрузка выписок, прайсов и других файлов через штатные обработки

Большинство типовых конфигураций имеют встроенные загрузчики, которые сами умеют принимать архив или требуют предварительной распаковки. Банковские выписки загружаются в разделе «Банк и касса» — «Обмен с банком»: укажите файл выписки, и программа сопоставит операции с контрагентами и договорами.

Прайсы и каталоги поставщиков в торговых конфигурациях загружаются через обработку «Загрузка данных из файла» (обычно доступна из карточки справочника «Номенклатура» или из раздела закупок). Обработка принимает табличные форматы — XLSX, CSV, MXL, — поэтому ZIP сначала распаковывают.

Электронные документы (УПД, акты в формате ЭДО) часто приходят именно в ZIP-архивах. В конфигурациях с подсистемой ЭДО загрузка выполняется из раздела обмена электронными документами, и часть решений умеет принимать архив целиком без ручной распаковки.

Маршрут решения

Как выбрать способ загрузки

В архиве файл обмена между базами 1СРаспакуйте и загрузите через «Универсальный обмен данными в формате XML»
В архиве выписка банкаИспользуйте штатный «Обмен с банком», многие конфигурации принимают ZIP напрямую
В архиве табличные данные (прайс, каталог)Распакуйте и загрузите через «Загрузку данных из файла»
Штатной обработки под формат нетРаспакуйте программно через ЧтениеZipФайла или загрузите файлы вручную

Программная распаковка ZIP средствами 1С

Когда загрузку нужно автоматизировать — например, забирать архивы из почты или каталога по расписанию, — используют объект встроенного языка «ЧтениеZipФайла». Он позволяет открыть архив, просмотреть состав и извлечь файлы в указанный каталог без сторонних программ.

Типовой фрагмент кода выглядит так: создаётся объект ЧтениеZipФайла с указанием пути к архиву, затем вызывается метод «ИзвлечьВсе» с каталогом назначения, после чего объект закрывается. Дальше извлечённые файлы обрабатываются обычными средствами — чтением XML, табличного документа или текста.

bsl
ЧтениеZip = Новый ЧтениеZipФайла("C:\Обмен\archive.zip");
ЧтениеZip.ИзвлечьВсе("C:\Обмен\Распаковано", РежимВосстановленияПутейФайловZIP.Восстанавливать);
ЧтениеZip.Закрыть();

Для записи архивов существует парный объект «ЗаписьZipФайла» — он пригодится, если нужно наоборот упаковать выгрузку перед отправкой. Оба объекта работают и на толстом, и на тонком клиенте, а также на сервере, что позволяет выполнять распаковку в фоновых заданиях.

Учитывайте ограничение: стандартные объекты работают с классическим форматом ZIP. Архивы RAR, 7z и запароленные ZIP с нестандартным шифрованием ими не открываются — такие файлы придётся распаковывать внешним архиватором до загрузки в 1С.

Загрузка архива как вложения в базу

Иногда задача — не распаковать архив, а сохранить его в базе как присоединённый файл: к договору, письму, карточке номенклатуры. В типовых конфигурациях на БСП для этого есть механизм присоединённых файлов: в карточке объекта нажмите скрепку или кнопку «Присоединить», выберите ZIP-файл, и он будет сохранён в информационной базе или в томе хранения файлов.

Такой способ подходит для архивов с подтверждающими документами, сканами и пакетами ЭДО, когда содержимое архива обрабатывать не нужно, а требуется только хранение и доступ по ссылке из объекта учёта.

Проверка результата и типичные ошибки

После загрузки обязательно сверьте результат с источником. Для обмена данными — количество загруженных объектов в протоколе обработки и контрольные остатки по ключевым регистрам. Для выписок — итоговые суммы по операциям с выпиской банка. Для номенклатуры — число созданных позиций и корректность цен у нескольких товаров выборочно.

Частая ошибка — попытка загрузить ZIP напрямую в обработку, которая ждёт распакованный файл: программа либо выдаст ошибку формата, либо «успешно» загрузит пустой набор данных. Вторая типичная ситуация — нарушение кодировки имён файлов при распаковке архивов, созданных на другой платформе: кириллические имена превращаются в нечитаемые символы, и файлы потом сложно идентифицировать.

Ещё одна группа проблем — права доступа. При распаковке на сервере 1С каталог назначения должен быть доступен учётной записи, под которой работает агент сервера, а не пользователю, запустившему обработку. Из-за этого фоновая загрузка «молча» завершается ошибкой, хотя вручную тот же код отрабатывает.

Типичные ошибки
01
Загрузка ZIP в обработку, ожидающую XML или табличный файл — ошибка формата или пустая загрузка
02
Отсутствие резервной копии перед загрузкой обмена — невозможность отката при ошибке
03
Распаковка в каталог без прав у учётной записи сервера — сбой фонового задания
04
Игнорирование протокола загрузки — пропущенные ошибки сопоставления объектов
05
Попытка открыть RAR или 7z объектом ЧтениеZipФайла — формат не поддерживается
Контрольные точки

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

Протокол загрузки
Норма

Нет строк с ошибками, число объектов совпадает с источником

Тревожный признак

Есть записи об ошибках сопоставления или отказе в записи

Контрольные суммы
Норма

Итоги по выписке или оборотам совпадают с документом-источником

Тревожный признак

Суммы расходятся — загрузка неполная или с дублями

Состав распакованных файлов
Норма

Все файлы из архива присутствуют, имена читаемы

Тревожный признак

Часть файлов отсутствует, имена в нечитаемой кодировке

Частые вопросы

Можно ли загрузить ZIP-архив в 1С, не распаковывая его?

Только если конкретная обработка это поддерживает: некоторые механизмы обмена с банками и ЭДО принимают архив целиком. Универсальные обработки обмена данными и загрузки табличных данных требуют предварительной распаковки файла на диск.

Чем открыть ZIP-архив внутри 1С без сторонних программ?

Объектом встроенного языка «ЧтениеZipФайла»: он извлекает содержимое в указанный каталог и работает на клиенте и на сервере. Ограничение — только классический формат ZIP без экзотического шифрования.

Почему после распаковки имена файлов отображаются нечитаемыми символами?

Архив создан в системе с другой кодировкой имён файлов. Решение — распаковать архив современным архиватором, который корректно определяет кодировку, или извлекать файлы программно с переименованием по шаблону.

Как загрузить архив RAR или 7z в 1С?

Штатные объекты 1С работают только с ZIP. RAR и 7z нужно сначала распаковать внешним архиватором (например, 7-Zip) в каталог на диске, после чего загружать извлечённые файлы обычным способом или обрабатывать программно.

Безопасно ли открывать ZIP-архивы, полученные по почте?

Нет, без проверки — архивы часто используются для доставки вредоносных вложений. Проверяйте архив антивирусом, не запускайте исполняемые файлы из архива и загружайте только данные от подтверждённых контрагентов.

Что делать, если фоновая загрузка архива завершается ошибкой, а ручная работает?

Проверьте права учётной записи агента сервера 1С на каталог распаковки и путь к архиву: фоновое задание выполняется на сервере под другой учётной записью, и сетевые пути вида «буква диска» для неё недоступны — используйте UNC-пути.

Итог

Что важно запомнить

ZIP в 1С загружается через целевую обработку под конкретный формат содержимого: обмен данными, выписки, прайсы или ЭДО. При отсутствии штатного инструмента архив распаковывается объектом ЧтениеZipФайла. Перед любой загрузкой делайте резервную копию и проверяйте результат по протоколу и контрольным суммам.