Перенос данных между базами 1С 8.3: все рабочие способы

· 9 мин

Содержание

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

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

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

Что выяснить до начала переноса

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

  • 🔹 Конфигурации баз. Откройте в каждой базе О программе (меню по значку i в правом верхнем углу) и сравните название и версию конфигурации. Одинаковые — подойдёт прямой XML-перенос. Разные — только EnterpriseData или КД.
  • 🔹 Направление и объём. Переносите один справочник, остатки на дату или всю историю документов? От этого зависит, хватит ли простой загрузки из файла или нужен полноценный план обмена.
  • 🔹 Соответствие организаций и счетов. Если в базах по-разному заведены организации, склады, статьи затрат или план счетов — заранее составьте таблицу соответствий, иначе получите дубли.

Перед первой выгрузкой сделайте резервную копию базы -приёмника. Любой обмен меняет данные, и откатить неудачную загрузку проще из копии, чем вычищать задвоенные документы вручную.

Определиться с методом поможет короткая развилка.

Куда и как переносите данные?

Синхронизация данных между типовыми базами

Самый надёжный штатный способ для типовых конфигураций на управляемых формах (БП 3.0, ЗУП 3.1, УТ 11). Механизм сам отслеживает изменения и переносит только новые и изменённые объекты.

  1. В обеих базах включите флаг в разделе Администрирование → Синхронизация данных (в УТ и КА пункт может называться «Синхронизация данных»).
  2. Создайте новую настройку синхронизации и выберите вид обмена: с такой же конфигурацией или через универсальный формат, если конфигурации разные.
  3. Укажите способ связи баз: прямое подключение к базе-приёмнику, обмен через каталог (папку с файлами выгрузки) или через FTP/веб-сервис.
  4. Настройте правила отправки и получения: за какой период выгружать документы, по каким организациям, какие виды данных.
  5. Выполните первую синхронизацию. В первый раз обычно выгружается справочная информация и начальные остатки, затем — только изменения.

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

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

Прямая выгрузка-загрузка через XML

Когда базы одной конфигурации и нужно перенести конкретные объекты разово, подойдёт типовая обработка выгрузки и загрузки данных в формате XML (поставляется на диске ИТС как внешняя обработка .epf).

  1. Откройте обработку в базе-источнике через Файл → Открыть и укажите файл обработки.
  2. Отметьте объекты для выгрузки: отдельные справочники, документы за период, регистры. Можно выгрузить всё или задать отбор.
  3. Сохраните результат в файл XML.
  4. В базе-приёмнике откройте ту же обработку в режиме загрузки и укажите сохранённый файл.

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

Этот способ переносит объекты вместе с их внутренними идентификаторами (GUID). Поэтому повторная загрузка того же файла обновит ранее перенесённые объекты, а не создаст дубли — это удобно для донастройки.

Обмен между разными конфигурациями: EnterpriseData и КД

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

Универсальный формат EnterpriseData — встроенный в современные типовые конфигурации. Выгрузка из источника описывает объект в формате, не привязанном к конкретной конфигурации, а приёмник раскладывает его по своим реквизитам. Типовые правила для пар вроде «УТ → БП» уже встроены в механизм синхронизации — отдельно ничего настраивать не нужно.

Конвертация данных 2.0 (КД 2.0) — отдельная конфигурация, в которой вручную рисуют правила обмена: какой объект источника в какой объект приёмника превращается и как сопоставляются реквизиты. Результат — файл правил, который подключают к универсальной обработке обмена XML. Подход старый, но до сих пор применяется для нетиповых доработанных баз.

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

МетодКогда выбиратьСложность
EnterpriseData (типовой)Обе базы типовые, пара поддержанаНизкая
КД 3.0Есть доработки, типовых правил малоСредняя
КД 2.0Старые или сильно нетиповые конфигурацииВысокая

Прежде чем строить правила в КД, проверьте, нет ли готового обмена в самой конфигурации. Для популярных пар конфигураций фирма «1С» уже поставляет правила — самому писать их с нуля чаще всего не нужно.

Перенос справочников через файл

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

  • Загрузка из табличного документа. Типовая обработка загрузки данных из табличного документа читает Excel или .mxl и создаёт элементы справочника по колонкам файла. Перед загрузкой сопоставьте колонки файла с реквизитами справочника.
  • Загрузка прямо в форме списка. В ряде конфигураций в командной панели списка номенклатуры есть команда загрузки из внешнего файла — ищите её в меню «Ещё» над списком.
  • Выгрузка в файл для переноса. Обратная операция: список выгружают в Excel командой сохранения из той же панели, правят и загружают в другую базу.

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

Программная выгрузка: сервисы и внешние источники

Когда стандартных механизмов мало или нужен обмен с не-1С системой, данные выгружают кодом.

  • HTTP-сервисы и веб-сервисы. В базе-источнике публикуют сервис, который по запросу отдаёт данные в JSON или XML. Приёмник (другая база 1С или внешняя система) обращается к сервису и разбирает ответ. Подходит для обмена в реальном времени.
  • Внешние источники данных. Объект метаданных, через который 1С читает таблицы другой СУБД или другой базы напрямую по строке подключения. Удобно, когда нужно только читать данные источника, не копируя их целиком.
  • COM-соединение. Внешнее соединение с другой базой 1С из кода. Способ рабочий, но чувствительный к версии платформы и разрядности — для новых проектов чаще берут HTTP-сервисы.

Простой пример выгрузки справочника в файл JSON средствами встроенного языка:

Запись = Новый ЗаписьJSON;
Запись.ОткрытьФайл("C:\Обмен\nomenklatura.json");
Запись.ЗаписатьНачалоМассива();
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
    Запись.ЗаписатьНачалоОбъекта();
    Запись.ЗаписатьИмяСвойства("Код");
    Запись.ЗаписатьЗначение(Выборка.Код);
    Запись.ЗаписатьИмяСвойства("Наименование");
    Запись.ЗаписатьЗначение(Выборка.Наименование);
    Запись.ЗаписатьКонецОбъекта();
КонецЦикла;
Запись.ЗаписатьКонецМассива();
Запись.Закрыть();

В приёмнике файл читают объектом ЧтениеJSON и создают элементы справочника. Для разовой выгрузки код оформляют как внешнюю обработку , чтобы не менять конфигурацию.

Дубли и битые ссылки: как не испортить базу-приёмник

Главная боль любого обмена — когда одни и те же объекты задваиваются или документы ссылаются на несуществующие элементы. Причины и что делать:

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

Общее правило: справочники переносите раньше документов, а поиск дублей настраивайте по уникальным реквизитам (ИНН, код, артикул), а не по названию. Это снимает большую часть проблем ещё до первой выгрузки.

После переноса обязательно сверьте результат, а не считайте задачу закрытой по факту «загрузка прошла без ошибок»:

  • 🔹 Сравните количество элементов справочника и документов в источнике и приёмнике — расхождение сразу покажет, что часть объектов не дошла или задвоилась.
  • 🔹 Проведите несколько перенесённых документов в приёмнике. Если проведение падает на пустом реквизите или несуществующей ссылке, справочники перенесены не полностью.
  • 🔹 Сверьте контрольные суммы: обороты по ключевому регистру или остатки на дату переноса должны совпасть с источником.

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

Короткий чек-лист подготовки к обмену:

Перед выгрузкой из 1С в 1С
Выполнено: 0 / 6

Автоматизация обмена по расписанию

Чтобы не запускать синхронизацию руками, её ставят на регламентное задание.

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

Автоматический обмен без присмотра опасен тем, что ошибка в одной выгрузке молча копится. Настройте, чтобы о сбоях синхронизации приходило уведомление ответственному, и раз в период проверяйте журнал обмена.

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

Можно ли перенести данные из 1С в 1С без программиста?
Да, если конфигурации совпадают. Синхронизация данных и выгрузка через XML настраиваются в пользовательском режиме. Правила конвертации для разных конфигураций — уже работа для специалиста.
Чем отличается синхронизация от разовой выгрузки XML?
Синхронизация помнит состояние обмена и при следующем запуске отправляет только изменения, работает в обе стороны. Выгрузка XML — разовая операция «выгрузил файл — загрузил файл» без памяти о предыдущих переносах.
Как перенести данные из УТ в Бухгалтерию?
Через механизм синхронизации на универсальном формате EnterpriseData. Типовые правила для пары «Управление торговлей — Бухгалтерия» уже встроены, настраивается только отбор по организациям и периоду.
Перенесутся ли остатки и движения по регистрам?
При синхронизации и XML-обмене — да, вместе с документами. При загрузке справочников из файла Excel переносятся только элементы справочника, без движений и остатков.
Почему после обмена задвоились контрагенты?
Приёмник искал существующий элемент по наименованию и не нашёл точного совпадения. Настройте поиск по ИНН и КПП — тогда повторная загрузка обновит карточку, а не создаст копию.