Обработка «Выгрузка и загрузка данных XML»: как выгрузить и загрузить файл в 1С 8.3

· 11 мин

Содержание

Выгрузка и загрузка данных XML для 1С 8.3 делается одной внешней обработкой — ВыгрузкаЗагрузкаДанныхXML.epf. В базе-источнике вы отмечаете флажками объекты и получаете один файл, в базе-приёмнике тот же файл загружаете. Встроенной кнопки «Сохранить как XML» у документа в типовой конфигурации нет — именно на этом спотыкаются в первый раз.

Второе заблуждение: что XML из 1С бывает один. Их три — файл обмена между базами, файл ЭДО по формату ФНС и произвольный XML для стороннего сервиса. Структуры несовместимы, и файл для Диадока в другую базу как обмен не встанет. Ниже — пошагово про каждый случай, про отбор по организации и про то, почему загрузка иногда молча теряет данные.

Какой XML вам нужен: определите сценарий

От того, кому уйдёт файл, зависит и способ выгрузки, и структура.

Для чего нужен XML-файл из 1С?

Быстрый тест: откройте файл в браузере. Если первые теги вида <ФайлОбмена ...> со ссылками и GUID — это обмен 1С. Если <Файл ИдФайл="ON_NSCHFDOPPR..."> — это ЭДО.

Что такое формат XML и зачем он в 1С

XML — текстовый формат, где значения размечены тегами: <Документ><Сумма>1000</Сумма></Документ>. Его читают почти все программы, поэтому он стал стандартом обмена.

Для практика это даёт две вещи:

  • 🔁 Перенос данных без прямого подключения. Базы могут стоять в разных офисах и даже у разных компаний — файл передаётся хоть по почте.
  • 📄 Юридически значимый документооборот. ФНС утвердила XML-форматы счёта-фактуры и УПД, оператор ЭДО передаёт именно такой файл с электронной подписью.

Главное свойство внутреннего XML 1С: объекты сериализуются вместе со своими уникальными идентификаторами (GUID). Поэтому при повторной загрузке того же файла дубли не появляются — данные обновляются.

Где взять обработку «Выгрузка и загрузка данных XML»: ИТС, 1С 8.3 и 8.5

Обработка не входит в саму конфигурацию. Её публикуют в методической поддержке на диске ИТС — ищите по названию «Выгрузка и загрузка данных XML» в разделе разработки. Файл называется ВыгрузкаЗагрузкаДанныхXML.epf.

Как открыть:

  1. Скачайте .epf и положите в удобную папку (без кириллицы в пути — надёжнее).
  2. Запустите базу в режиме 1С:Предприятие под пользователем с полными правами.
  3. Меню Файл → Открыть → выберите .epf.
  4. Разрешите открытие внешней обработки, если появится вопрос безопасности.

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

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

Есть и второй путь без внешних файлов — некоторые типовые конфигурации умеют выгружать данные через Администрирование → Обмен данными. Функционал там уже: это про синхронизацию, а не про выборочную выгрузку объектов.

Как выгрузить данные из 1С 8.3 в XML: пошаговая инструкция

Порядок в базе-источнике:

  1. Откройте обработку, перейдите на вкладку Выгрузка данных.
  2. В дереве метаданных отметьте флажками то, что переносим: справочники, документы, регистры сведений, планы счетов.
  3. Решите вопрос со связями — по умолчанию обработка тянет зависимые объекты (контрагента и номенклатуру за документом).
  4. Задайте отбор, если нужна часть данных (см. ниже).
  5. Укажите имя и путь результирующего файла.
  6. Нажмите Выгрузить данные и дождитесь окна с количеством выгруженных объектов.

На выходе — один .xml, внутри которого лежат все выбранные объекты со ссылками друг на друга.

Выгрузка с отбором по организации, периоду и списку

Отборы — самое полезное в обработке. Выгружать базу целиком почти никогда не нужно.

Что нужноКак задать
Только одна организацияНа вкладке выгрузки выберите документ, в отборе укажите реквизит Организация = нужное значение
ПериодОтбор по реквизиту Дата, условие «в интервале»
Конкретные документыОтбор по Ссылка = список значений, либо по номеру
Только справочник без движенийСнимите флажки с документов и регистров

Отбор по организации в 1С 8.3 удобен при разделении базы: выгрузили документы одного юрлица — загрузили в отдельную базу под него. Проверьте, что в отбор попали и справочники, привязанные к организации: банковские счета, договоры, кассы. Иначе документы приедут, а реквизиты у них окажутся пустыми.

Перед выгрузкой с отбором прогоните тестовую выгрузку 2–3 документов и загрузите их в копию приёмника. Десять минут проверки экономят день разбора.

Как загрузить файл XML в 1С 8.3: пошаговая инструкция

Загрузка проще выгрузки, но требует дисциплины в порядке действий.

  1. Сделайте резервную копию базы -приёмника. Откат загрузки штатными средствами не предусмотрен.
  2. Откройте ту же обработку ВыгрузкаЗагрузкаДанныхXML.epf в базе-приёмнике.
  3. Перейдите на вкладку Загрузка данных.
  4. Выберите файл .xml, полученный при выгрузке.
  5. Нажмите Загрузить данные.
  6. Проверьте протокол: обработка покажет количество загруженных объектов и предупреждения.

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

Как загрузить реализацию и другие документы из XML

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

  • 📌 Документ придёт непроведённым или проведённым по данным источника — это зависит от версии обработки. Проверьте проводки после загрузки.
  • 🔢 Номер документа переносится как есть. Если в приёмнике такой номер занят, возможен конфликт нумерации.
  • 🔗 Ссылки на контрагента и номенклатуру подтянутся, если их выгрузили вместе с документом или они уже есть в приёмнике с тем же GUID.
  • 💰 Счета учёта в движениях не пересчитываются — они приходят из источника. При разных планах счетов документ придётся перепровести.

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

Универсальный обмен данными в формате XML: когда нужен

Обработка «Выгрузка и загрузка данных XML» работает только между одинаковыми (или очень близкими) конфигурациями. Как только структуры расходятся — УТ и Бухгалтерия, разные редакции — нужен универсальный обмен данными в формате XML.

Разница принципиальная:

МеханизмЧто умеетКогда брать
Выгрузка и загрузка данных XMLКопирует объекты «как есть», без преобразованийОдинаковые конфигурации, перенос части данных, разделение базы
Универсальный обмен данными XML (Конвертация данных 2.1)Перекладывает данные по правилам: поле в поле, документ в документРазные конфигурации, смена редакции, сложные сопоставления

Для универсальной выгрузки-загрузки XML в 1С 8.3 нужны две вещи: обработка универсального обмена (УниверсальныйОбменДаннымиXML.epf) и файл правил конвертации .xml, созданный в «Конвертации данных». Типовые правила для популярных пар конфигураций выпускает 1С, нетиповые пишутся под задачу.

Сопоставление полей — основная работа при таком обмене:

Сопоставление полей
Справочник Контрагенты (источник)→Справочник Контрагенты (приёмник)
Реквизит ИНН→Реквизит ИНН (ключ поиска)
Документ Реализация товаров→Документ Реализация (акт, накладная, УПД)
Ставка НДС (перечисление)→Ставка НДС (перечисление, через правило конвертации значений)
Склад (строкой)→Справочник Склады (поиск по наименованию, создавать при отсутствии)

Порядок работы: загрузили правила в обработку → выбрали узел «Выгрузка» → отобрали данные → получили файл → в приёмнике та же обработка, вкладка «Загрузка», те же правила.

Программный запуск выгрузки и загрузки XML

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

Выгрузка справочника в файл:

Процедура ВыгрузитьКонтрагентовВXML(ИмяФайла) Экспорт
    Запись = Новый ЗаписьXML;
    Запись.ОткрытьФайл(ИмяФайла, "UTF-8");
    Запись.ЗаписатьОбъявлениеXML();
    Запись.ЗаписатьНачалоЭлемента("Данные");

    Выборка = Справочники.Контрагенты.Выбрать();
    Пока Выборка.Следующий() Цикл
        СериализаторXDTO.ЗаписатьXML(Запись, Выборка.ПолучитьОбъект());
    КонецЦикла;

    Запись.ЗаписатьКонецЭлемента();
    Запись.Закрыть();
КонецПроцедуры

Загрузка того же файла:

Процедура ЗагрузитьДанныеИзXML(ИмяФайла) Экспорт
    Чтение = Новый ЧтениеXML;
    Чтение.ОткрытьФайл(ИмяФайла);
    Чтение.Прочитать(); // объявление
    Чтение.Прочитать(); // корневой элемент "Данные"

    Пока СериализаторXDTO.ВозможностьЧтенияXML(Чтение) Цикл
        Объект = СериализаторXDTO.ПрочитатьXML(Чтение);
        Объект.ОбменДанными.Загрузка = Истина;
        Объект.Записать();
    КонецЦикла;

    Чтение.Закрыть();
КонецПроцедуры

Ключевая строка — Объект.ОбменДанными.Загрузка = Истина. Без неё сработают проверки заполнения и подписки на события, и загрузка упадёт на первом же объекте с незаполненным реквизитом.

Такую процедуру ставят в регламентное задание или вызывают из фонового:

Параметры = Новый Массив;
Параметры.Добавить("C:\Exchange\out.xml");
ФоновыеЗадания.Выполнить("ОбменXML.ВыгрузитьКонтрагентовВXML", Параметры, , "Выгрузка XML");

Файлы обмена складывайте в отдельный каталог с датой в имени: out_20260926.xml. Когда приёмная сторона скажет «данные не пришли», у вас будет чем проверить.

Как выгрузить документ в формате XML для ЭДО, СБИС и Диадок

Это другой XML и другой механизм. Счёт-фактуру, УПД или реализацию для отправки контрагенту выгружают через электронный документооборот. Оператор роли не играет — формат задаёт ФНС.

Выгрузка счёта-фактуры/УПД в XML
Выполнено: 0 / 5

По шагам на примере реализации в 1С Бухгалтерия 8.3:

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

Имя файла говорит о типе документа: ON_NSCHFDOPPR — УПД со статусом «1», DP_REALIZ — накладная. Приёмная сторона ориентируется на префикс.

Если кнопки ЭДО в документе нет

  • 💾 Подключите сервис 1С-ЭДО: Администрирование → Обмен электронными документами.
  • 🧩 Используйте внешнюю обработку выгрузки в формат ФНС — её пишут под конкретную редакцию формата.
  • 📤 Выгрузите через сам сервис оператора: у СБИС и Диадока есть модули интеграции с 1С.

Частые ошибки и как их избежать

Большинство проблем с XML — на стыке версий формата, прав и состава метаданных.

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

Отдельно про заблуждения, которые дорого стоят:

  • ❌ «XML можно поправить руками». Файл ЭДО — нельзя, подпись слетит. Файл обмена — технически можно, но GUID и ссылки легко испортить.
  • ❌ «Загрузка добавит только новое». Обработка обновляет объекты по GUID: значение в приёмнике будет затёрто значением из файла.
  • ❌ «XML из одной базы откроется в любой 1С». Читается только совместимой конфигурацией.
  • ❌ «Формат один на всё». XML обмена, XML для Диадока и XML отчёта в ФНС — три разные структуры.

Если не помогло

Файл не грузится или выгрузка падает — двигайтесь по шагам:

  1. Повторите операцию в файловой копии базы: так вы отсечёте проблемы блокировок и прав на сервере.
  2. Сравните конфигурации источника и приёмника через Конфигуратор → Конфигурация → Сравнить, объединить. Расхождение в реквизите — типовая причина отказа.
  3. Уменьшите порцию: выгрузите 5 объектов вместо 5000. Если падает и на пяти — дело в структуре, а не в объёме.
  4. Посмотрите технологический журнал и Журнал регистрации на момент ошибки — там обычно полный текст исключения.
  5. Для ЭДО сверьте версию формата у оператора и обновите релиз конфигурации.
  6. Если конфигурации несовместимы в принципе — не боритесь с обработкой, переходите на универсальный обмен с правилами конвертации.

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

Где скачать обработку «Выгрузка и загрузка данных XML» для 1С 8.3?
Её публикуют в методической поддержке на диске ИТС, в разделе для разработчиков. Файл ВыгрузкаЗагрузкаДанныхXML.epf открывается через Файл → Открыть в режиме 1С:Предприятие под администратором.
Как загрузить файл XML в 1С 8.3 Бухгалтерия?
Откройте обработку загрузки, вкладка Загрузка данных, выберите .xml и нажмите «Загрузить данные». Перед этим обязательно сделайте резервную копию базы — отката не будет.
Работает ли обработка на 1С 8.5?
Да, она не привязана к номеру платформы. Если на новой платформе появляется ошибка в модуле, скачайте актуальную редакцию обработки: старые версии используют устаревшие методы.
Чем универсальный обмен данными XML отличается от обычной выгрузки?
Обычная выгрузка копирует объекты один в один и требует одинаковых конфигураций. Универсальный обмен перекладывает данные по правилам конвертации, поэтому работает между разными конфигурациями (УТ → Бухгалтерия и т. п.).
Как выгрузить данные с отбором по организации?
В обработке выгрузки отметьте нужные документы и задайте отбор по реквизиту Организация. Не забудьте выгрузить связанные справочники — договоры, банковские счета, кассы этой организации.
Можно ли загрузить реализацию из XML вместе с проводками?
Ссылки и реквизиты придут, но движения зависят от совпадения планов счетов. Проверьте проводки после загрузки и при расхождении перепроведите документ.
Чем отличается выгрузка для ЭДО от выгрузки данных XML?
Для ЭДО формируется файл строгого формата ФНС для контрагента. «Выгрузка и загрузка данных XML» — внутренний формат 1С для переноса объектов между базами. Файлы взаимно непригодны.

Источники

  • Приказ ФНС России от 19.12.2018 № ММВ-7-15/820@ (формат счёта-фактуры и УПД в электронном виде)
  • Приказ ФНС России от 24.03.2016 № ММВ-7-15/155@ (формат счёта-фактуры в электронной форме)