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

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

Как выгрузить документ из 1С в 1С

Способы переноса документов между базами 1С: выгрузка через обработку, COM-соединение, универсальный формат EnterpriseData и типовой обмен. Пошаговые инструкции и проверка результата.

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

Перед любой выгрузкой сделайте резервную копию обеих баз через конфигуратор (Администрирование → Выгрузить информационную базу) или средствами СУБД. Ошибка при переносе способна задвоить документы, перезаписать справочники или нарушить нумерацию, а откатить изменения без копии будет невозможно.

Ниже разобраны рабочие варианты: типовой обмен между идентичными конфигурациями, универсальная обработка «Выгрузка и загрузка данных XML», перенос через формат EnterpriseData и программные способы. Для каждого указаны условия применения и ограничения.

Определяем сценарий: какие базы участвуют в переносе

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

Если конфигурации разные (например, документ нужно перенести из «Управления торговлей» в «Бухгалтерию»), прямая выгрузка объекта не сработает: структура реквизитов не совпадёт. В этом случае нужен обмен по правилам — типовой настройкой синхронизации или через конвертацию данных.

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

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

Как выбрать способ переноса

Конфигурации идентичны, документов немногоИспользуйте обработку «Выгрузка и загрузка данных XML»
Конфигурации идентичны, перенос регулярныйНастройте типовой обмен или РИБ
Конфигурации разные (УТ → БП и т.п.)Настройте синхронизацию данных через EnterpriseData
Нужен разовый перенос с нестандартной логикойНапишите перенос через COM-соединение или HTTP-сервис

Выгрузка обработкой «Выгрузка и загрузка данных XML»

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

Откройте обработку в базе-источнике через Файл → Открыть. На вкладке «Выгрузка» отметьте нужный вид документа, задайте отбор по периоду или по конкретному документу. Обязательно включите режим выгрузки «вместе со всеми ссылками» (выгрузка по ссылкам), иначе в приёмник попадёт документ без контрагентов, номенклатуры и договоров, а движения будут неполными.

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

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

Типовой обмен и синхронизация данных

Если перенос нужен регулярно, разовая выгрузка неудобна. В типовых конфигурациях есть встроенный механизм синхронизации: «Администрирование» → «Синхронизация данных». Он поддерживает обмен между идентичными базами и между разными конфигурациями (например, УТ и БП) по готовым правилам.

При настройке укажите способ подключения: через каталог, FTP, электронную почту или прямое подключение к базе. Затем задайте состав отправляемых данных — можно ограничить синхронизацию конкретными видами документов, организацией и периодом. Программа сама сопоставит справочники по наименованию, ИНН и другим ключевым полям.

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

Перенос через универсальный формат EnterpriseData

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

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

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

Программные способы: COM-соединение и сервисы

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

bsl
Параметры = "File=\"D:\\Bases\Priemnik\";Usr=\"Админ\";Pwd=\"***\";";
V8 = Новый COMОбъект("V83.COMConnector");
Соединение = V8.Connect(Параметры);
НовыйДок = Соединение.Documents.РеализацияТоваровУслуг.СоздатьДокумент();
НовыйДок.Дата = ТекущаяДата();
// заполнение реквизитов с поиском ссылок по GUID или по реквизитам
НовыйДок.Записать(Соединение.РежимЗаписиДокумента.Проведение);

Ключевая сложность программного переноса — ссылки. Контрагент из источника нельзя просто присвоить документу в приёмнике: сначала объект ищут по уникальному идентификатору (если базы когда-то были одной) или по ключевым реквизитам (ИНН и КПП для контрагентов, код или артикул для номенклатуры), и только при отсутствии создают новый.

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

Проверка результата после переноса

После загрузки откройте документ в приёмнике и сверьте ключевые поля с источником: номер, дату, организацию, контрагента, суммы и табличную часть. Затем проверьте, что все ссылочные поля заполнены реальными объектами, а не «битыми ссылками» вида «<Объект не найден>».

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

Контрольные точки

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

Ссылочные поля документа
Норма

Контрагент, договор, номенклатура открываются и совпадают с источником

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

Поля пустые или содержат «Объект не найден»

Движения документа
Норма

Проводки и записи регистров соответствуют источнику

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

Документ не проводится или суммы движений отличаются

Справочники
Норма

Контрагенты и товары сопоставлены с существующими

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

Появились дубли с пометкой или похожими наименованиями

Нумерация
Норма

Номер документа не конфликтует с существующими

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

Два документа с одним номером в одном периоде

Типичные ошибки и ограничения

Самая частая проблема — забытая выгрузка связанных объектов. Документ загружается, но ссылается на несуществующих контрагентов, и его невозможно провести. Второй типовой сценарий — дубли справочников: при загрузке по ссылкам всё совпадает, а при синхронизации между разными базами сопоставление по наименованию даёт дубли из-за различий в написании.

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

Типичные ошибки
01
Выгрузка документа без связанных объектов — в приёмнике битые ссылки и невозможность проведения
02
Загрузка в рабочую базу без копии — при ошибке данные не откатить
03
Перенос между разными версиями конфигурации — часть реквизитов теряется молча
04
Пропуск этапа сопоставления справочников — дубли контрагентов и номенклатуры
05
Игнорирование предупреждений синхронизации — конфликты накапливаются и блокируют обмен
Итог

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

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

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

Можно ли выгрузить один документ, а не весь вид документов?

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

Перенесутся ли проводки документа?

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

Что делать, если в приёмнике появились дубли контрагентов?

Используйте типовую обработку «Поиск и удаление дублей» (раздел «Администрирование» → «Обслуживание»). Она найдёт повторы по реквизитам и заменит ссылки во всех документах на основной элемент. Перед запуском сделайте копию базы.

Почему документ загрузился, но не проводится?

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

Можно ли перенести документ из файловой базы в серверную?

Да, способ переноса от режима работы базы не зависит: обработка XML, синхронизация и EnterpriseData работают одинаково. COM-соединение к серверной базе тоже возможно — в строке подключения указываются параметры сервера вместо пути к каталогу.