Администрирование · 10 мин
Как выгрузить документ из 1С в 1С
Способы переноса документов между базами 1С: выгрузка через обработку, COM-соединение, универсальный формат EnterpriseData и типовой обмен. Пошаговые инструкции и проверка результата.
Выгрузка документа из одной базы 1С в другую — типовая задача при разделении учёта, переходе на новую конфигурацию или обмене между филиалами. Способ зависит от того, какие конфигурации используются в базе-источнике и базе-приёмнике: если они одинаковые, перенос простой; если разные, потребуется сопоставление данных.
Перед любой выгрузкой сделайте резервную копию обеих баз через конфигуратор (Администрирование → Выгрузить информационную базу) или средствами СУБД. Ошибка при переносе способна задвоить документы, перезаписать справочники или нарушить нумерацию, а откатить изменения без копии будет невозможно.
Ниже разобраны рабочие варианты: типовой обмен между идентичными конфигурациями, универсальная обработка «Выгрузка и загрузка данных XML», перенос через формат EnterpriseData и программные способы. Для каждого указаны условия применения и ограничения.
Определяем сценарий: какие базы участвуют в переносе
Первый шаг — понять, совпадают ли конфигурации источника и приёмника. Откройте в обеих базах раздел «О программе» и сравните название и версию конфигурации. Если обе базы, например, на «1С:Бухгалтерии 8» одной редакции, перенос выполняется побъектно без сопоставления полей.
Если конфигурации разные (например, документ нужно перенести из «Управления торговлей» в «Бухгалтерию»), прямая выгрузка объекта не сработает: структура реквизитов не совпадёт. В этом случае нужен обмен по правилам — типовой настройкой синхронизации или через конвертацию данных.
Отдельный случай — перенос между одинаковыми конфигурациями разных версий. Младшая версия приёмника может не знать новых реквизитов, и часть данных потеряется. По возможности сначала обновите базу-приёмник.
Как выбрать способ переноса
Выгрузка обработкой «Выгрузка и загрузка данных XML»
Это стандартный способ переноса отдельных документов между идентичными конфигурациями. Обработка входит в состав дистрибутивов и доступна на ИТС, а в ряде конфигураций встроена в меню «Администрирование». Файл обработки называется ВыгрузкаЗагрузкаДанныхXML.epf.
Откройте обработку в базе-источнике через Файл → Открыть. На вкладке «Выгрузка» отметьте нужный вид документа, задайте отбор по периоду или по конкретному документу. Обязательно включите режим выгрузки «вместе со всеми ссылками» (выгрузка по ссылкам), иначе в приёмник попадёт документ без контрагентов, номенклатуры и договоров, а движения будут неполными.
Укажите имя файла и нажмите «Выгрузить данные». Затем откройте ту же обработку в базе-приёмнике, перейдите на вкладку «Загрузка», выберите файл и выполните загрузку. После загрузки проверьте документ: он появится с тем же номером и датой, но в непроведённом или проведённом состоянии — в зависимости от того, как был выгружен.
- 1Сделайте резервные копии обеих баз
- 2Откройте обработку в источнике и выберите вид документа
- 3Задайте отбор и включите выгрузку связанных объектов по ссылкам
- 4Выгрузите данные в файл XML
- 5Откройте обработку в приёмнике и загрузите файл
- 6Проверьте документ, контрагентов и номенклатуру в приёмнике
Типовой обмен и синхронизация данных
Если перенос нужен регулярно, разовая выгрузка неудобна. В типовых конфигурациях есть встроенный механизм синхронизации: «Администрирование» → «Синхронизация данных». Он поддерживает обмен между идентичными базами и между разными конфигурациями (например, УТ и БП) по готовым правилам.
При настройке укажите способ подключения: через каталог, FTP, электронную почту или прямое подключение к базе. Затем задайте состав отправляемых данных — можно ограничить синхронизацию конкретными видами документов, организацией и периодом. Программа сама сопоставит справочники по наименованию, ИНН и другим ключевым полям.
После первой синхронизации проверьте «Предупреждения при синхронизации»: там видны несопоставленные объекты и конфликты. Несопоставленные контрагенты создадут дубли, поэтому сопоставление лучше выполнить вручную до массовой загрузки документов.
Перенос через универсальный формат EnterpriseData
EnterpriseData — формат обмена, который используется для интеграции 1С с другими системами и между конфигурациями. Выгрузить документ в этом формате можно обработкой «Выгрузка и загрузка EnterpriseData» из состава БСП или программно через планы обмена.
Способ удобен, когда приёмник — не 1С или когда нужно передать документ третьей стороне в понятном XML-виде. Внутри экосистемы 1С он же лежит в основе типовой синхронизации, поэтому для пары «1С — 1С» чаще проще настроить именно синхронизацию, а не ручную выгрузку файлов.
Ограничение: формат покрывает не все виды документов и не все реквизиты. Если в документе есть нестандартные дополнительные поля, проверьте, попадают ли они в выгрузку, — при необходимости формат расширяется доработкой.
Программные способы: COM-соединение и сервисы
Когда типовые инструменты не подходят — например, нужно переносить документы по расписанию с особыми условиями отбора — используют программный перенос. Классический вариант для двух баз на одной платформе — COM-соединение: обработка в одной базе подключается ко второй и создаёт документ напрямую.
Параметры = "File=\"D:\\Bases\Priemnik\";Usr=\"Админ\";Pwd=\"***\";";
V8 = Новый COMОбъект("V83.COMConnector");
Соединение = V8.Connect(Параметры);
НовыйДок = Соединение.Documents.РеализацияТоваровУслуг.СоздатьДокумент();
НовыйДок.Дата = ТекущаяДата();
// заполнение реквизитов с поиском ссылок по GUID или по реквизитам
НовыйДок.Записать(Соединение.РежимЗаписиДокумента.Проведение);Ключевая сложность программного переноса — ссылки. Контрагент из источника нельзя просто присвоить документу в приёмнике: сначала объект ищут по уникальному идентификатору (если базы когда-то были одной) или по ключевым реквизитам (ИНН и КПП для контрагентов, код или артикул для номенклатуры), и только при отсутствии создают новый.
Для баз на разных серверах вместо COM применяют HTTP-сервисы, веб-сервисы или шину данных. Это уже задача разработки: если у вас нет опыта программирования на встроенном языке 1С, безопаснее ограничиться типовыми инструментами.
Проверка результата после переноса
После загрузки откройте документ в приёмнике и сверьте ключевые поля с источником: номер, дату, организацию, контрагента, суммы и табличную часть. Затем проверьте, что все ссылочные поля заполнены реальными объектами, а не «битыми ссылками» вида «<Объект не найден>».
Если документ проведённый, убедитесь, что движения сформировались корректно: сравните обороты по счетам или регистрам до и после. Для бухгалтерских документов полезно сформировать оборотно-сальдовую ведомость за период до переноса и после — разница должна равняться сумме перенесённых документов.
Как проверить результат
Контрагент, договор, номенклатура открываются и совпадают с источником
Поля пустые или содержат «Объект не найден»
Проводки и записи регистров соответствуют источнику
Документ не проводится или суммы движений отличаются
Контрагенты и товары сопоставлены с существующими
Появились дубли с пометкой или похожими наименованиями
Номер документа не конфликтует с существующими
Два документа с одним номером в одном периоде
Типичные ошибки и ограничения
Самая частая проблема — забытая выгрузка связанных объектов. Документ загружается, но ссылается на несуществующих контрагентов, и его невозможно провести. Второй типовой сценарий — дубли справочников: при загрузке по ссылкам всё совпадает, а при синхронизации между разными базами сопоставление по наименованию даёт дубли из-за различий в написании.
Ограничение обработки XML: она не подходит для разных конфигураций и плохо справляется с очень большими объёмами — файл на сотни тысяч объектов загружается долго и требует много памяти. Для массового переноса используйте конвертацию данных или синхронизацию.
Что важно запомнить
Между идентичными конфигурациями документ переносится обработкой «Выгрузка и загрузка данных XML» вместе со связанными объектами. Между разными — через синхронизацию данных с сопоставлением справочников. Перед любой загрузкой делайте резервную копию и проверяйте результат на копии базы.
Частые вопросы
Можно ли выгрузить один документ, а не весь вид документов?
Да. В обработке «Выгрузка и загрузка данных XML» отбор настраивается по конкретному документу: добавьте условие по ссылке, номеру или дате. В синхронизации данных единичный документ можно отправить через механизм регистрации изменений вручную.
Перенесутся ли проводки документа?
При переносе между идентичными конфигурациями обработкой XML движения выгружаются вместе с документом. При обмене между разными конфигурациями движения не переносятся — документ создаётся и проводится в приёмнике по его собственной логике.
Что делать, если в приёмнике появились дубли контрагентов?
Используйте типовую обработку «Поиск и удаление дублей» (раздел «Администрирование» → «Обслуживание»). Она найдёт повторы по реквизитам и заменит ссылки во всех документах на основной элемент. Перед запуском сделайте копию базы.
Почему документ загрузился, но не проводится?
Чаще всего причина в незаполненных ссылочных полях (контрагент, договор, склад), отсутствующих в приёмнике настройках учёта или различиях в версиях конфигурации. Откройте документ, проверьте все обязательные поля и сообщение об ошибке при проведении — оно укажет конкретную причину.
Можно ли перенести документ из файловой базы в серверную?
Да, способ переноса от режима работы базы не зависит: обработка XML, синхронизация и EnterpriseData работают одинаково. COM-соединение к серверной базе тоже возможно — в строке подключения указываются параметры сервера вместо пути к каталогу.