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

В этой статье мы разберем все доступные методы объединения — от ручного переноса данных до использования специализированных инструментов вроде Конвертации данных 2.0 или EDT (1C:Enterprise Development Tools). Особое внимание уделим подготовке баз, анализу структур и тестированию результата. Вы узнаете, как избежать типичных ошибок, какие настройки сохранять в приоритете, и что делать, если после слияния система работает нестабильно.

Материал будет полезен как начинающим специалистам, так и опытным разработчикам, которые хотят систематизировать знания. Все инструкции актуальны для платформы 1С:Предприятие 8.3 (включая последние релизы), но основные принципы применимы и к более ранним версиям.

1. Подготовка к объединению: анализ структур и данных

Прежде чем приступать к техническим манипуляциям, необходимо тщательно проанализировать обе конфигурации. Этот этап занимает до 40% времени всего проекта, но позволяет избежать 90% потенциальных проблем.

Начните с сравнения метаданных: выгрузите обе конфигурации в файлы .cf и используйте инструмент СравнениеКонфигураций.epf (входит в стандартную поставку платформы). Обратите внимание на:

  • 📌 Различия в структурах справочников (например, в одной базе есть реквизит "КодОКПО", а в другой — "КодОКВЭД").
  • 📌 Отсутствующие документы или регистры (если в одной базе ведется учет по регистру накопления "ТоварыНаСкладах", а в другой — по регистру бухгалтерии "ТМЦ").
  • 📌 Разные настройки прав доступа (роли пользователей могут конфликтовать).
  • 📌 Версии платформы — если они отличаются, сначала приведите базы к единой версии.

Также критически важно оценить объем и качество данных. Например, если в одной базе велся учет за 10 лет, а в другой — только за последний год, придется решать, какие периоды переносить. Используйте отчет АнализДанных.epf или запросы к СУБД для выявления:

  • 🔍 Дублирующихся элементов справочников (одинаковые контрагенты с разными кодами).
  • 🔍 "Мусорных" данных (незаполненные документы, тестовые записи).
  • 🔍 Логическую целостность (например, документы "РеализацияТоваровУслуг" без ссылки на договор).
💡

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

2. Методы объединения: какой выбрать?

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

Метод Когда использовать Плюсы Минусы
Ручное объединение (перенос данных через выгрузку/загрузку) Маленькие базы (до 10 Гб), простые структуры Максимальный контроль, не требует дополнительных инструментов Трудоемко, высокий риск ошибок
Конвертация данных 2.0 Средние и крупные базы, сложные структуры Автоматизация, поддержка правил преобразования Требует настройки правил, возможны конфликты
Обмен через XML/JSON Регулярная синхронизация, распределенные системы Гибкость, возможность частичного переноса Нужно разрабатывать обработки, медленнее чем прямой перенос
Слияние через EDT Разработчики, сложные доработки Визуальный контроль, поддержка Git Требует лицензии, крутая кривая обучения

Для большинства задач оптимальным решением будет Конвертация данных 2.0 — этот инструмент входит в поставку 1С:Предприятие и позволяет гибко настраивать правила переноса. Однако если у вас уникальные доработки или нестандартные объекты, возможно, придется комбинировать методы.

📊 Какой метод объединения 1С вы используете чаще?
Ручной перенос
Конвертация данных 2.0
Обмен через XML
EDT
Другой

3. Пошаговая инструкция: объединение через Конвертацию данных 2.0

Рассмотрим самый универсальный способ — с помощью Конвертации данных 2.0. Этот инструмент позволяет переносить данные между разными конфигурациями, даже если их структуры не полностью совпадают.

Шаг 1. Подготовка правил конвертации

  1. Откройте Конвертация данных 2.0 (меню Администрирование → Обмен данными → Конвертация данных).
  2. Создайте новый проект и укажите источник (первая база) и приемник (вторая база).
  3. Выберите объекты для переноса (справочники, документы, регистры). Для критичных объектов (например, Контрагенты) настройте правила сопоставления:

// Пример правила для сопоставления контрагентов по ИНН

Если Источник.ИНН = Приемник.ИНН Тогда

Приемник.Ссылка = Источник.Ссылка;

КонецЕсли;

Шаг 2. Тестовый перенос

  • 🔄 Запустите конвертацию в тестовом режиме (галочка "Только проверка").
  • 🔄 Просмотрите лог ошибок. Типичные проблемы:
  • Конфликты ссылок — когда в приемнике уже есть объект с таким же кодом.
  • Несовпадение типов данных (например, в источнике поле "Число", а в приемнике — "Строка").
  • Ограничения прав — если у пользователя нет доступа к некоторым объектам.

Шаг 3. Финальный перенос

После устранения всех ошибок:

  1. Сделайте резервные копии обеих баз (обязательно!).
  2. Запустите полную конвертацию. В зависимости от объема данных процесс может занять от нескольких минут до часов.
  3. Проверьте логическую целостность данных в итоговой базе (например, что все документы проводятся без ошибок).

Созданы резервные копии обеих баз|

Пользователи предупреждены о простое|

Тестовый перенос прошел без критических ошибок|

Настроены права доступа для конвертации|

Подготовлены скрипты для пост-обработки (если нужны)-->

4. Ручной перенос данных: когда и как применять

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

Алгоритм действий:

  1. Выгрузка данных из источника:
    • Используйте стандартные обработки ВыгрузкаДанныхXML.epf или УниверсальныйОбменДаннымиXML.epf.
    • Для справочников выгружайте данные с иерархией и реквизитами.
    • Для документов — с движениями по регистрам (если нужно сохранять историю).
  2. Подготовка данных:
    • Откройте выгруженный файл .xml в текстовом редакторе и проверьте структуру.
    • При необходимости отредактируйте данные (например, замените коды справочников).
  • Загрузка в приемник:
    • Используйте обработку ЗагрузкаДанныхXML.epf.
    • Укажите параметры загрузки: Пропускать существующие (если не нужно перезаписывать данные) или Обновлять существующие.

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

    Что делать если при загрузке XML возникает ошибка "Объект не найден"?

    Эта ошибка означает, что в файле XML есть ссылка на объект (например, справочник "Контрагенты" с кодом "001"), которого нет в базе-приемнике. Решения:

    1. Предварительно загрузите все справочники.

    2. Отредактируйте XML-файл, заменив несуществующие ссылки на корректные.

    3. Используйте параметр "Игнорировать ошибки" (не рекомендуется, так как могут потеряться данные).

    5. Типичные ошибки и как их избежать

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

    1. Конфликты версий объектов

    Если в обеих базах есть справочник "Номенклатура" с одинаковыми кодами, но разными наименованиями, при слиянии произойдет перезапись данных. Решение:

    • 🔄 Настройте правила слияния в Конвертации данных 2.0 (опция "Объединять по реквизиту").
    • 🔄 Добавьте префиксы к кодам (например, "OLD_" для данных из старой базы).

    2. Потеря истории документов

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

    • 📊 Всегда выгружайте документы с движениями (галочка "Включать движения" в настройках выгрузки).
    • 📊 Проверяйте регистры после загрузки с помощью отчета АнализНарушенияСсылочнойЦелостности.

    3. Проблемы с правами доступа

    После объединения пользователи могут потерять доступ к объектам. Причины:

    • 🔐 Роли из старой базы не перенесены.
    • 🔐 Права на новые объекты не настроены.

    Решение: используйте обработку ВыгрузкаПравДоступа.epf для переноса ролей и прав.

    💡

    Всегда тестируйте итоговую базу на копии, а не на рабочем экземпляре. Даже если перенос прошел без ошибок, могут возникнуть скрытые проблемы (например, медленная работа отчетов из-за дублирующихся данных).

    6. Оптимизация и тестирование после объединения

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

    1. Провести реиндексацию и сжатие

    После массового переноса данных структура таблиц СУБД может фрагментироваться. Выполните:

    // В консоли администратора 1С:
    

    ТестированиеИИсправлениеИБ(РежимТестированияИИсправленияИБ.РеиндексацияТаблиц);

    ТестированиеИИсправлениеИБ(РежимТестированияИИсправленияИБ.СжатиеТаблиц);

    2. Проверить производительность

    Объединенная база может работать медленнее из-за:

    • 🐢 Увеличенного объема данных (например, история документов за 10 лет вместо 3-х).
    • 🐢 Конфликтов индексов (если в обеих базах были разные индексы на одних таблицах).

    Используйте ПланОбмена.АнализПроизводительности() для выявления узких мест.

    3. Обновить конфигурацию и платформу

    Если базы были на разных версиях, после объединения:

    • 🔄 Обновите конфигурацию до последней версии (через Конфигуратор → Поддержка → Обновить конфигурацию).
    • 🔄 Обновите платформу 1С:Предприятие (если она устарела).
    💡

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

    7. Альтернативные инструменты: EDT и внешние решения

    Если стандартные методы не подходят (например, из-за сложных доработок), рассмотрите альтернативные инструменты:

    1C:Enterprise Development Tools (EDT)

    Это среда разработки от , которая позволяет:

    • 🔧 Сравнивать и сливать конфигурации визуально (как в Git).
    • 🔧 Отслеживать изменения с помощью системы контроля версий.
    • 🔧 Автоматизировать сборку и развертывание.

    Минус: требует отдельной лицензии и обучения.

    Внешние обработки

    Для специфических задач можно использовать готовые решения:

    • 📦 "Универсальный обмен данными" (от Инфостарт) — для гибкого переноса данных между любыми конфигурациями.
    • 📦 "Конвертация данных 3.0" (альтернатива стандартному инструменту с расширенными возможностями).
    • 📦 "DataComposer" — для сложных преобразований данных.
    Когда стоит использовать EDT вместо Конвертации данных 2.0?

    EDT оправдан в случаях:

    1. Вам нужно слить конфигурации с большим количеством доработок (более 50 объектов).

    2. Вы работаете в команде и нуждаетесь в контроле версий (Git).

    3. Требуется автоматизированная сборка конфигураций (CI/CD).

    Для простого переноса данных EDT избыточен.

    8. Резервное копирование и откат изменений

    Нет ничего хуже, чем обнаружить критическую ошибку после объединения, когда отката нет. Чтобы этого избежать:

    1. Создайте полные резервные копии

    • 💾 Файловый вариант: скопируйте папку с базой (для файлового режима) или сделайте бэкап СУБД (для клиент-серверного).
    • 💾 Логический бэкап: используйте ВыгрузкаИЗагрузкаДанныхXML для критичных данных.

    2. Настройте точки восстановления

    В клиент-серверном варианте можно создать снимок базы данных (snapshot) перед началом работ. Например, в Microsoft SQL Server:

    -- Создание снимка
    

    CREATE DATABASE [1C_Base_Snapshot] ON

    (NAME = '1C_Base', FILENAME = 'C:\Backups\1C_Base_Snapshot.ss') AS SNAPSHOT OF [1C_Base];

    3. План отката

    Если что-то пойдет не так, заранее подготовьте:

    • 🔙 Скрипт для быстрого восстановления из бэкапа.
    • 🔙 Инструкцию для пользователей о действиях при сбое.
    • 🔙 Контакты поддержки (если работаете с партнером ).
    💡

    Даже если объединение прошло успешно, храните резервные копии обеих исходных баз не менее 3-х месяцев. Это поможет восстановить данные, если в новой базе обнаружатся ошибки или утерянная информация.

    FAQ: Частые вопросы по объединению конфигураций 1С

    Можно ли объединить конфигурации разных версий (например, 8.2 и 8.3)?

    Технически да, но сначала нужно привести их к единой версии платформы. Для этого:

    1. Обновите старую базу до 8.3 через Конфигуратор → Поддержка → Обновить конфигурацию.
    2. Убедитесь, что обе базы работают на одинаковой версии платформы (например, 8.3.22).
    3. Только после этого приступайте к объединению.

    Если конфигурации сильно отличаются (например, 1С:Бухгалтерия 2.0 и 1С:Бухгалтерия 3.0), проще перенести данные в новую базу через Конвертацию данных, чем пытаться слить конфигурации напрямую.

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

    Это типичная проблема, вызванная:

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

    Решение:

    1. Проверьте логи проводки (Журнал регистрации → Ошибки).
    2. Используйте обработку ПроверкаЛогическойЦелостности.epf.
    3. Если ошибка в конкретном документе, откройте его и нажмите Провести — система покажет детальное сообщение.
    Как перенести только справочники, без документов?

    Для этого:

    1. В Конвертации данных 2.0 отметьте галочками только нужные справочники (например, "Контрагенты", "Номенклатура").
    2. Снимите галочки с документов и регистров.
    3. Запустите перенос с параметром ТолькоСправочники = Истина (если используете скрипт).

    Для ручного переноса выгрузите справочники в XML и загрузите их в новую базу с опцией ТолькоСозданиеНовых.

    Сколько времени занимает объединение двух баз?

    Время зависит от:

    • 🕒 Объема данных (база 10 Гб может обрабатываться 1–2 часа).
    • 🕒 Метода переноса (ручной XML медленнее, чем Конвертация данных 2.0).
    • 🕒 Производительности сервера (на слабом железе процесс затягивается).

    Примерные оценки:

    Размер базы Метод Примерное время
    До 1 Гб Конвертация данных 2.0 10–30 минут
    1–10 Гб Конвертация данных 2.0 1–3 часа
    Более 10 Гб EDT или поэтапный перенос От 4 часов
    Можно ли объединить базы с разными системами налогообложения?

    Да, но это требует дополнительной настройки. Основные нюансы:

    • 📑 В новой базе должны быть настроены обе системы налогообложения (например, ОСНО и УСН).
    • 📑 Документы из старой базы должны корректно проводиться с учетом новой системы (возможно, потребуется доработка модулей).
    • 📑 Проверьте регистры налогового учета — данные по налогам (НДС, налог на прибыль) должны быть актуальны.

    Рекомендуется проконсультироваться с аудитором, чтобы избежать ошибок в отчетности.