Транспортный контейнер в 1С ЭДО: загрузка, выгрузка и ошибки распаковки

· 9 мин

Содержание

Транспортный контейнер в 1С ЭДО — это обычный ZIP-архив с электронным документом, файлами электронной подписи и служебным описанием внутри. Чтобы распаковать входящий контейнер, его не открывают архиватором, а загружают прямо в программу: рабочее место Продажи → Текущие дела ЭДО (то же место доступно из раздела Покупки), команда загрузки документа из файла. 1С сама разберёт архив, проверит подписи и покажет документ в списке.

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

Ниже — что внутри контейнера, как его загрузить и выгрузить, и как разобрать ошибку распаковки.

Что лежит внутри транспортного контейнера

Контейнер — это ZIP-файл. Если открыть его архиватором (только для диагностики, не для загрузки в базу), внутри обычно три типа файлов:

  • 📄 XML документа — сам электронный документ: счёт-фактура, УПД, акт, накладная или другой тип в формате ФНС либо в формате оператора.
  • 🔏 Файлы электронной подписи — отсоединённые подписи, лежат рядом с XML. По ним программа проверяет, кто и чем подписал документ.
  • 🗂 Служебное описание — файл с идентификаторами отправителя и получателя ЭДО и типом документа. По нему 1С понимает, кому адресован контейнер.

Один контейнер может везти несколько документов сразу — например, комплект УПД с приложениями. Поэтому распаковка — это не просто «вынуть файл», а разбор пакета: 1С читает описание, сверяет получателя, раскладывает документы и проверяет каждую подпись.

В контейнере едут не только сами документы. При обмене счётами-фактурами и УПД по формату ФНС стороны пересылают ещё и технологические (регламентные) документы: извещение о получении, подтверждение даты, уведомление об уточнении. Каждый из них — тоже отдельный контейнер со своей подписью. Поэтому входящих контейнеров по одной сделке бывает несколько: сначала сам документ, потом квитанции по нему. При прямом обмене без оператора таких квитанций меньше, обмен проще.

Формат XML внутри зависит от типа документа. Счета-фактуры и УПД идут в утверждённом формате ФНС — он строго регламентирован. Акты, накладные и произвольные документы могут передаваться как в форматах ФНС, так и в свободном формате оператора. На распаковку это не влияет: 1С определяет тип по служебному описанию, а не по расширению.

Руками распаковывать архив и подкладывать XML в базу не нужно и вредно: без служебного описания и проверки подписи документ в учёт не встанет. Загружайте контейнер целиком, как ZIP.

Что подготовить до загрузки

Распаковка завершится корректно только если рабочее место готово. Проверьте три вещи заранее:

  1. Права на работу с ЭДО. У пользователя должна быть роль, разрешающая работу с электронными документами. Выдаёт её администратор в Администрирование → Настройки пользователей и прав.
  2. Криптопровайдер и сертификат. На компьютере установлен КриптоПро CSP или VipNet CSP, а в 1С добавлен сертификат с доступом к закрытому ключу. Список сертификатов — в Администрирование → Обмен электронными документами, далее настройки электронной подписи. Без закрытого ключа получателя зашифрованный контейнер не раскроется.
  3. Настройка обмена с этим контрагентом. Идентификатор вашей организации в ЭДО должен совпадать с тем, на который отправитель адресовал контейнер. Проверяется в настройках ЭДО организации.

Если контейнер пришёл по электронной почте, сначала сохраните вложение на диск без переименования и без распаковки. Любое открытие-пересохранение архива сторонней программой нарушает структуру, и 1С его не примет.

Как загрузить и распаковать входящий контейнер

Порядок для ручной загрузки из файла:

  1. Откройте рабочее место ЭДО: Продажи → Текущие дела ЭДО (или Покупки → Текущие дела ЭДО).
  2. В командной панели найдите команду загрузки документов из файла. Если её не видно сразу, она прячется под кнопкой Еще.
  3. Укажите путь к ZIP-файлу контейнера. Выбирайте именно исходный ZIP, а не распакованную папку.
  4. 1С разберёт архив: прочитает описание, проверит адресата и подписи, создаст входящие электронные документы .
  5. Проверьте результат. Успешно разобранный контейнер появится во входящих со статусом, предлагающим утвердить или подписать документ.

После распаковки сверьте реквизиты документа с бумажным или учётным аналогом и только потом принимайте к учёту. Если по документу нужно сформировать поступление или реализацию, 1С предложит сопоставить его с учётным документом или создать новый.

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

Когда контейнеров много (например, выгрузили целую папку из другой базы), загружать их по одному необязательно — при ручной загрузке можно указать сразу несколько файлов или каталог, и программа разберёт их пачкой. Те, что не распакуются, останутся с пометкой об ошибке, остальные загрузятся нормально. Это удобно при разовом переносе архива документов между базами или при восстановлении обмена после сбоя.

Перед загрузкой контейнера проверьте
Выполнено: 0 / 4

Контейнер не распаковывается: причины и проверка

Если 1С ЭДО не распаковывает транспортный контейнер, ошибка сообщает об этом в момент загрузки или при автоматическом приёме. Виджет ниже помогает связать симптом с вероятной причиной — проверяйте по порядку, от простого к сложному.

Диагностика: выберите симптом

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

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

Ещё одна тонкая причина — несовпадение криптопровайдера. Если ключ выпущен под КриптоПро, а на рабочем месте стоит VipNet (или наоборот), подпись не проверится и расшифровка не пройдёт. Криптопровайдер должен быть тот же, что использовался при выпуске сертификата.

Длинные пути и кириллица в имени каталога, куда скачан контейнер, иногда мешают распаковке. Положите файл в короткий путь латиницей, например C:\edo\, и загрузите оттуда.

Как выгрузить контейнер и передать контрагенту

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

  1. Откройте электронный документ в рабочем месте ЭДО или в списке документов ЭДО.
  2. Найдите команду выгрузки в файл (под кнопкой Еще, если не видна в панели).
  3. Укажите папку, куда сохранить ZIP. Программа соберёт контейнер со всеми подписями и описанием.
  4. Передайте полученный файл контрагенту — по защищённому каналу, через общий каталог или по почте.

Передавайте контейнер целиком, одним ZIP-файлом. Не распаковывайте его перед отправкой и не пересохраняйте архиватором — иначе у получателя он не распакуется по той же причине, что описана выше.

Если документов несколько, 1С может собрать их в один контейнер или выгрузить по отдельности — зависит от того, что вы выделили перед выгрузкой. Для передачи по почте удобнее один файл. Перед отправкой уточните у контрагента его идентификатор ЭДО: если выгрузка идёт для конкретного получателя, неверный идентификатор в описании приведёт к тому, что на приёме контейнер отвергнется как чужой.

Для разовой передачи аудитору выгруженного контейнера достаточно: в нём есть и документ, и подписи, и их можно проверить сторонним средством проверки подписи.

Настройка автоматического обмена без ручной распаковки

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

Через оператора ЭДО. Самый частый случай: документы идут через оператора, 1С по расписанию забирает входящие контейнеры и распаковывает их сама. Вам остаётся только утвердить или подписать документ. Расписание приёма-отправки настраивается в Администрирование → Обмен электронными документами.

Обмен без оператора (прямой). Стороны договариваются обмениваться контейнерами через общий сетевой каталог или по электронной почте. В настройке обмена задаётся:

  • способ — каталог на диске/в сети или почтовый ящик;
  • свои и контрагента идентификаторы ЭДО;
  • шифровать контейнеры или нет;
  • расписание регламентного задания, которое складывает исходящие и забирает входящие.

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

Следите за результатом приёма. Контейнеры, которые не распаковались, не исчезают молча: проблемные документы подсвечиваются в рабочем месте Текущие дела ЭДО, а подробности сбоя — текст ошибки, имя файла — пишутся в журнал регистрации. Если регламентное задание перестало забирать контейнеры, первым делом проверьте, что оно включено и что у него есть доступ к каталогу или почтовому ящику обмена. В клиент-серверной базе регламентные задания выполняет сервер, поэтому доступ к каталогу обмена нужен именно той учётной записи, под которой работает служба 1С, а не вашей пользовательской.

Для прямого обмена через каталог у службы 1С (или у пользователя, под которым работает регламентное задание) должны быть права на запись и чтение в этой папке. Иначе контейнеры не будут ни выгружаться, ни забираться, а в журнале появятся ошибки доступа.

Сравнение двух способов:

ПараметрЧерез оператораБез оператора (прямой)
Кто доставляетоператор ЭДОвы сами (каталог/почта)
Распаковкаавтоматически по расписаниюавтоматически или вручную
Юридическая значимостьподтверждается операторомна стороне участников
Когда уместнообычный документооборотобмен внутри группы, разовые случаи

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

Можно ли открыть транспортный контейнер обычным архиватором?
Для диагностики — да, это ZIP, видно состав файлов. Но загружать содержимое в базу руками нельзя: без служебного описания и проверки подписи документ в учёт не встанет. Загружайте контейнер целиком.
Почему контейнер распаковался на одном компьютере, а на другом — нет?
Скорее всего, он зашифрован, и закрытый ключ получателя есть только на первом рабочем месте. Распаковывайте там, где установлен нужный сертификат с закрытым ключом.
Куда 1С складывает принятые контейнеры?
При приёме через оператора контейнеры обрабатываются и хранятся в самой базе как присоединённые файлы электронных документов — отдельная папка на диске не нужна. При прямом обмене исходные ZIP лежат в настроенном каталоге обмена.
Контрагент говорит, что не может распаковать мой контейнер. Что проверить?
Убедитесь, что он сохранил вложение как ZIP и не пересохранял его архиватором, что вы отправили на правильный идентификатор ЭДО и что вы не включили шифрование на сертификат, которого у него нет.
Нужна ли подпись, чтобы просто распаковать входящий контейнер?
Для распаковки и просмотра — нет, подпись нужна при отправке и при утверждении документа. Но для расшифровки зашифрованного контейнера требуется закрытый ключ получателя.