Перенос документов между базами 1С 8.3: файл XML, правила обмена и синхронизация

· 10 мин

Содержание

Выгрузить документ из 1С в 1С проще всего через XML-файл. Если конфигурации одинаковые (например, БП 3.0 одного релиза в обеих базах), берите обработку «Выгрузка и загрузка данных XML»: отметили документ, выгрузили в файл, загрузили во вторую базу. Если конфигурации разные или релизы расходятся, нужна обработка «Универсальный обмен данными в формате XML» и файл правил, созданный в «Конвертации данных 2.0». Для регулярной передачи между типовыми программами есть встроенная синхронизация данных.

Типичная ситуация: бухгалтер ведёт две организации в двух базах и по ошибке провёл поступление не в той. Или филиал работает в отдельной копии, а головной офис хочет видеть его реализации. Перепечатывать 40 строк товаров вручную долго и рискованно, а сам перенос занимает 10–15 минут, если понимать, чем отличаются способы.

Каким способом перенести документ: сравнение вариантов

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

СпособКогда подходитРиски
«Выгрузка и загрузка данных XML»Одна и та же конфигурация и релиз в обеих базахИщет объекты только по внутреннему идентификатору — возможны дубли справочников
«Универсальный обмен данными в формате XML» + правила КД 2.0Разные конфигурации или разные релизыНужны правила под вашу пару конфигураций; самописные правила требуют отладки
Синхронизация данных (типовой обмен)Регулярный обмен БП ↔ УТ, БП ↔ ЗУП, распределённые базыНастройка дольше; ошибки сопоставления тянутся из обмена в обмен
Копирование табличной части через табличный документНужно перенести только строки товаров или услугШапку, ссылки и проводки придётся заполнить заново

💡 Если документов один-два и в них по 3–5 строк, честнее ввести их руками. Обмен окупается от десятка документов или от длинных табличных частей.

Подготовка: копии баз, сверка конфигураций и правил обмена

Перед любым переносом ответьте на три вопроса.

  1. Совпадают ли конфигурации? Откройте в обеих базах Справка → О программе (значок «i» или меню с тремя полосками). Сравните название конфигурации и номер релиза. Совпадение до последней цифры — путь к простой обработке выгрузки XML.
  2. Есть ли в приёмнике нужные справочники? Документ ссылается на организацию, контрагента, договор, склад, номенклатуру. Если в приёмнике они заведены вручную, а не перенесены, у них другие внутренние идентификаторы — и программа их не узнает.
  3. Открыт ли период? Если в базе-приёмнике установлены даты запрета изменения, документ прошлого месяца не загрузится. Узнайте у главного бухгалтера, можно ли временно сдвинуть дату.

Перед загрузкой сделайте резервную копию базы -приёмника. В файловом варианте это копия каталога базы при закрытой программе или выгрузка в .dt через Конфигуратор: Администрирование → Выгрузить информационную базу. Выгрузка .dt требует, чтобы в базе не работали пользователи.

Для второго способа заранее найдите правила обмена. Для типовых пар конфигураций они поставляются вместе с обновлениями и доступны на портале поддержки. Для нетиповых баз правила создаёт программист в конфигурации «Конвертация данных » редакции 2.x: файл правил — это обычный XML, который загружают в обработку.

Сами обработки бывают двух видов:

  • 📦 внешние — файлы .epf, открываются через Файл → Открыть;
  • 🧩 встроенные — во многих типовых конфигурациях универсальный обмен уже есть, его ищут в Все функции → Обработки.

Если пункта «Все функции» в главном меню нет, включите его: Сервис и настройки → Параметры → Отображать команду «Все функции».

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

Выгрузка документа в файл XML между одинаковыми базами

Это самый частый сценарий: две базы одной конфигурации, нужно перекинуть один или несколько документов. Обработку «Выгрузка и загрузка данных XML» (файл обычно называется ВыгрузкаЗагрузкаДанныхXML83.epf или похоже) распространяют вместе с материалами поддержки типовых решений.

Выгрузка в базе-источнике

  1. Откройте обработку через Файл → Открыть.
  2. На вкладке выгрузки найдите в дереве объектов раздел «Документы» и отметьте нужный вид, например «Поступление (акт, накладная, УПД)».
  3. Задайте период — начало и конец дня с документом. Чтобы выгрузить не все документы вида за период, настройте отбор по номеру или контрагенту.
  4. Укажите имя файла, например C:\Obmen\postuplenie.xml.
  5. Нажмите кнопку выгрузки и дождитесь сообщения о завершении.

Обработка сама добавляет в файл объекты, на которые ссылается документ: контрагента, договор, номенклатуру, единицы измерения. Поэтому файл даже для одного документа бывает в десятки килобайт.

Загрузка в базе-приёмнике

  1. Откройте ту же обработку во второй базе.
  2. Перейдите на вкладку загрузки и выберите файл .xml.
  3. Запустите загрузку и посмотрите сообщения внизу формы.
  4. Откройте загруженный документ, проверьте шапку и строки, проведите его.

💡 Обработка сопоставляет объекты по внутреннему уникальному идентификатору (GUID). Если обе базы когда-то были одной базой, справочники совпадут, и дублей не будет. Если контрагента в приёмнике создавали вручную, после загрузки появится второй контрагент с тем же ИНН. Дубли потом объединяют стандартным поиском и удалением дублей в разделе Администрирование.

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

Универсальный обмен данными по правилам «Конвертации данных 2.0»

Когда конфигурации разные, простая обработка не подойдёт: структура документов отличается, и платформа не поймёт, какое поле во что класть. Здесь нужны правила конвертации. Они описывают, что документ «Реализация товаров и услуг» одной программы превращается в нужный документ другой, а контрагенты ищутся по ИНН и КПП, а не по GUID.

Выгрузка с правилами

  1. Откройте обработку «Универсальный обмен данными в формате XML».
  2. На вкладке выгрузки в поле имени файла правил выберите XML с правилами и нажмите загрузку правил. Появится дерево правил выгрузки.
  3. Снимите флажки со всех правил, кроме нужного документа.
  4. Задайте период и, при необходимости, отбор по организации или номеру.
  5. Укажите имя файла данных и выполните выгрузку.

Загрузка во вторую базу

  1. Откройте ту же обработку в базе-приёмнике и перейдите на вкладку загрузки.
  2. Выберите файл данных. Правила в нём уже записаны: при выгрузке обработка кладёт их в начало файла, отдельно загружать не нужно.
  3. Запустите загрузку и проверьте протокол.

Несколько полезных настроек:

  • 🔁 режим загрузки «как при обмене» — объекты пишутся без лишних проверок и без проведения, это быстрее, но документы потом нужно провести;
  • 📝 протокол обмена в файл — включайте при первой выгрузке, без него трудно понять, на каком объекте всё сломалось;
  • 🧪 отладка — правила с собственным кодом лучше гонять на копии базы, пока протокол не станет чистым.
Сопоставление полей
Контрагент (ИНН, КПП)→Поиск контрагента по ИНН и КПП
Договор (номер, дата, владелец)→Поиск договора у найденного контрагента
Номенклатура (артикул или наименование)→Поиск по артикулу, затем по наименованию
Ставка НДС→Перечисление ставок НДС приёмника
Склад→Склад по наименованию или склад по умолчанию
Сумма, количество, цена→Те же реквизиты табличной части

💡 Правило поиска определяет почти всё. Поиск по ИНН и КПП почти исключает дубли контрагентов, поиск номенклатуры только по наименованию — нет: «Бумага А4» и «Бумага А4 » с пробелом для 1С разные строки.

Регулярная передача: синхронизация данных и регламентные задания

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

Транспорт выбирают при настройке:

  • 📁 через общий каталог в локальной сети;
  • 🌐 через FTP-ресурс;
  • 🔗 через прямое подключение к другой базе или через интернет, если вторая база опубликована на веб-сервере.

В настройке указывают, какие данные отправлять: с какой даты, по каким организациям, нужны ли справочники целиком. Изменения регистрируются автоматически: изменили документ — он попадёт в следующий пакет.

Расписание обмена

В карточке настройки синхронизации есть расписание. Включите автоматическое выполнение и задайте интервал, например каждый день в 21:00 или каждые 2 часа в рабочее время. Расписание выполняет регламентное задание.

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

Автоматизация универсальной обработки

Для нетипового обмена через универсальную обработку расписания из коробки нет. Варианты:

  1. Программист переносит вызов обмена в расширение конфигурации и вешает его на собственное регламентное задание.
  2. Обмен запускают из планировщика Windows командной строкой с параметром /Execute, который открывает внешнюю обработку при старте.
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Filial" /N"Обмен" /P"пароль" /Execute"D:\Obmen\AutoVygruzka.epf"

Вместо 8.3.xx.xxxx подставьте каталог установленной версии платформы. Обработка AutoVygruzka.epf здесь — ваша, она выполняет выгрузку при открытии и завершает работу. Пароль в командной строке хранится открытым текстом, поэтому заведите для обмена отдельного пользователя с минимальными правами.

Ошибки при загрузке документа в другую базу

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

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

Безопасность и контроль целостности перенесённых данных

Файл обмена — это открытый XML. В нём суммы, ИНН контрагентов, цены закупки. Относитесь к нему как к выписке из учёта.

  • 🔒 Не пересылайте файл через публичные мессенджеры и не оставляйте на общем диске после загрузки.
  • 🗜️ В синхронизации через каталог или FTP включите сжатие исходящего сообщения и задайте пароль архива — оба параметра есть в настройках транспорта.
  • 👤 Под обмен заведите отдельного пользователя в базе-приёмнике: ему нужны права на запись переносимых объектов, но не на администрирование.

Проверить, что всё перенеслось без потерь, можно за пять минут:

  1. Сравните сумму документа и число строк в табличной части в обеих базах.
  2. Сформируйте оборотно-сальдовую ведомость по нужному счёту (например, 41 или 60) за день документа в источнике и приёмнике — обороты по документу должны совпасть.
  3. Если переносили пачку, сравните количество документов в журналах за период. Отбор по дате и организации в списке документов есть в обеих базах.
  4. Проверьте, что в справочниках приёмника не появилось новых элементов, которых вы не ждали: отсортируйте список контрагентов и номенклатуры по дате создания или коду.

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

Перед загрузкой в рабочую базу
Выполнено: 0 / 5

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

Можно ли перенести документ из 1С в 1С копированием через буфер обмена?
Целиком документ — нет. Табличную часть можно вывести через Ещё → Вывести список, сохранить в Excel и загрузить строки в документ второй базы, если в форме есть загрузка из файла. Шапку придётся заполнить вручную.
Переносятся ли проводки вместе с документом?
Нет. Переносится сам документ с реквизитами, а движения и проводки формируются заново при проведении в базе-приёмнике по её учётной политике и настройкам.
Можно ли выгрузить документ из облачной 1С в локальную?
Да, если в облачной базе разрешено открывать внешние обработки. Если нельзя, используйте встроенный в конфигурацию универсальный обмен или синхронизацию данных, а для разовой задачи — выгрузку всей базы и перенос нужного уже в локальной копии.
Что будет, если загрузить тот же файл повторно?
При сопоставлении по идентификатору документ не задвоится, а перезапишется. При поиске по номеру и дате поведение зависит от правил. Повторную загрузку проверяйте на копии.
Подойдёт ли выгрузка XML для переноса между базами разных организаций?
Да, если конфигурации одинаковые. Но в документе останется ссылка на организацию источника — заранее перенесите её карточку или поправьте реквизит после загрузки, иначе документ попадёт в учёт чужой организации.