Объединение баз 1С 8: перенос данных из одной базы в другую
Содержание
Отдельной кнопки «Объединить базы » в 1С:Предприятие 8 нет. Задача решается переносом данных: из одной базы (источника) выгружаете справочники и документы и загружаете их во вторую базу (приёмник). Для одинаковых конфигураций это делается штатной обработкой выгрузки-загрузки XML, для разных — через правила конвертации. Перед любым переносом снимаете резервные копии обеих баз.
Сразу разделим два разных действия, которые часто путают. Объединение данных — это слияние справочников, остатков и документов из двух информационных баз в одну рабочую. Объединение конфигураций — сравнение и склейка метаданных (кода) в Конфигураторе, к данным оно отношения не имеет. Ниже речь про данные.
Полного автоматического слияния «один в один» не ждите: часть элементов придётся сопоставлять вручную, а дубли справочников — убирать после загрузки. Это нормальная часть процесса, а не признак ошибки.
Что получается при слиянии двух баз
Результат зависит от того, совпадают ли конфигурации баз.
- Конфигурации одинаковые (например, две базы 1С:Бухгалтерия 3.0 одного релиза) — переносятся объекты как есть, со всеми ссылками. Это самый частый и самый простой случай.
- Конфигурации разные (из УТ в БП, из самописной в типовую) — автоматический перенос «как есть» невозможен. Нужны правила конвертации: вы описываете, какой объект источника в какой объект приёмника превращается.
Важно понимать границу: перенести можно справочники и документы, но остатки и обороты не складываются сами по себе. Если в обеих базах велась одна и та же организация, после слияния документы придётся перепровести, а в ряде случаев — вводить начальные остатки отдельным документом, а не тащить все движения.
Если организации в базах разные (например, объединяете учёт двух юрлиц в одну базу), заранее решите, как будете разделять данные: по организации в документах или по отдельным базам данных внутри одной ИБ. От этого зависит весь перенос.
Резервные копии и подготовка баз
Это единственный шаг, где нельзя срезать углы. Перед объединением сделайте выгрузку обеих баз в файл .dt — это ваша точка возврата.
Порядок подготовки:
- Попросите пользователей выйти из обеих баз.
- Зайдите в каждую базу через Конфигуратор, выполните
Администрирование → Выгрузить информационную базуи сохраните файлы.dtотдельно для источника и приёмника. Выгрузка.dtтребует монопольного доступа — отсюда и выход пользователей. - В приёмнике запустите тестирование и исправление:
Администрирование → Тестирование и исправление. База, в которую грузите, должна быть «здоровой». - Сверьте релизы конфигураций. Для штатной выгрузки XML номер релиза источника и приёмника должен совпадать; если отличается — сначала обновите младшую базу до релиза старшей.
Если базы файловые и небольшие, вместо .dt можно просто скопировать папку с файлом 1Cv8.1CD — это тоже полноценная резервная копия.
Способы объединить базы 1С 8
Рабочих вариантов три, плюс один пограничный.
1. Выгрузка и загрузка данных XML (одинаковые конфигурации).
Штатная внешняя обработка от 1С. Запускается в режиме 1С:Предприятие через Файл → Открыть. В источнике отмечаете, что выгружать (можно всё, можно отдельные справочники и документы за период), получаете файл XML. В приёмнике той же обработкой этот файл загружаете. Объекты переносятся вместе со ссылками — контрагент подтянется к своему документу автоматически. Подходит, когда базы одной конфигурации и одного релиза.
2. Универсальный обмен данными XML + «Конвертация данных » (разные конфигурации). Здесь без правил не обойтись. В конфигурации «Конвертация данных» описываете соответствие объектов источника и приёмника (какой справочник куда, какие реквизиты как заполнять), выгружаете файл правил, а затем обработкой «Универсальный обмен данными в формате XML» выгружаете данные по этим правилам и загружаете в приёмник. Способ гибкий, но трудоёмкий — закладывайте время на отладку правил.
Для популярных пар конфигураций (например, между Управлением торговлей и Бухгалтерией) существуют готовые правила обмена — их не обязательно писать с нуля. Проверьте, нет ли подходящего комплекта правил под вашу связку релизов, прежде чем садиться за ручную настройку конвертации: это экономит дни работы.
3. Ручной перенос (малые объёмы). Если переносить нужно немного, слияние через обмен — overkill. Заведите справочники руками, а остатки внесите документом ввода начальных остатков на нужную дату. Меньше рисков, чем у автоматического переноса документов.
4. Синхронизация данных (пограничный случай). Если на самом деле нужно не склеить базы, а держать их согласованными (одни контрагенты, номенклатура), настраивается синхронизация. Базы остаются двумя — в одну они не превращаются.
| Способ | Когда применять | Риски |
|---|---|---|
| Выгрузка/загрузка XML | Одинаковые конфигурации и релизы | Дубли справочников |
| Конвертация данных | Разные конфигурации, выборочно | Долгая настройка правил |
| Ручной ввод | Малый объём данных | Трудозатраты при больших данных |
| Синхронизация | Нужны две живые базы | Это не объединение |
Настройка выгрузки: период, организация, состав данных
Чем точнее отбор на выгрузке, тем меньше разбора после загрузки. Не выгружайте «всё подряд», если нужна часть.
В обработке выгрузки обычно доступны три фильтра:
- 📅 Период — выгружать документы с определённой даты. Справочники выгружаются целиком независимо от периода, потому что на них ссылаются документы.
- 🏢 Организация — если в источнике несколько юрлиц, а переносите одно.
- 📦 Состав объектов — какие справочники и документы включать. Минимум — контрагенты, номенклатура, договоры и те документы, которые реально нужны.
Логика отбора: сначала решите, какие документы переносите, затем убедитесь, что включены все справочники, на которые эти документы ссылаются. Если выгрузить документы без их номенклатуры, при загрузке получите ошибки битых ссылок.
Не выгружайте служебные и регистровые данные, если не понимаете их смысл (настройки пользователей, права, регистры сведений обмена). Перенос «мусора» между базами — частая причина странных сбоев в приёмнике.
При переносе через конвертацию состав определяется правилами: там вы прямо задаёте, какие объекты выгружать и как заполнять их реквизиты в приёмнике.
Загрузка данных в базу-приёмник
Загрузка идёт в ту базу, которая остаётся рабочей. Здесь важны порядок и режим доступа.
- Снова убедитесь, что в приёмнике нет активных пользователей.
- Откройте обработку загрузки (той же, что делали выгрузку) через
Файл → Открытьи укажите файл XML. - Запустите загрузку. Справочники грузятся раньше документов автоматически — обработка сама соблюдает порядок ссылок.
- После загрузки не спешите проводить документы . Сначала проверьте, что элементы не задвоились (следующий раздел).
Загрузка больших объёмов может идти десятки минут и дольше. Не прерывайте процесс и не запускайте параллельно сборку или другие тяжёлые операции на том же сервере — иначе рискуете получить незавершённую загрузку.
Если переносите через конвертацию, загрузка выполняется обработкой «Универсальный обмен данными в формате XML» в режиме загрузки: указываете файл обмена и запускаете. Логика та же — сначала НСИ, потом документы.
Отдельно держите в голове номера документов. Если в источнике и приёмнике есть документы одного вида с пересекающейся нумерацией (два счёта № 1 за один год), после загрузки появятся дубли номеров. Это не ломает учёт, но мешает поиску и печати. Перенумеровать перенесённые документы проще всего до начала активной работы в объединённой базе — пока к ним не привязались акты сверки и печатные формы у контрагентов.
После успешной загрузки сразу снимите ещё одну копию .dt приёмника. Если дальнейшая чистка дублей пойдёт не так, откатитесь к состоянию «данные загружены, но ещё не тронуты».
Как не получить дубли справочников
Дубли — главная головная боль объединения. Один и тот же контрагент есть в обеих базах, и после загрузки их становится два: «ООО Ромашка» из источника и «ООО Ромашка» из приёмника.
Почему так происходит: обработка выгрузки-загрузки XML сопоставляет элементы по внутреннему идентификатору. Если контрагента заводили в двух базах независимо, идентификаторы разные — значит, для программы это два разных элемента, даже если ИНН один.
Что с этим делать:
- Для типовых конфигураций на БСП есть встроенная обработка «Поиск и удаление дублей». Найти её можно в разделе
Администрирование, в блоке обслуживания данных (название пункта в разных релизах может немного отличаться). Обработка находит кандидатов по выбранному реквизиту (ИНН, наименование, код), вы указываете главный элемент, а остальные она помечает на удаление, предварительно переназначив на главный все ссылки из документов. - Сопоставляйте контрагентов по ИНН и КПП, номенклатуру — по коду или артикулу, а не по наименованию: «ООО Ромашка» и «Ромашка, ООО» — для текстового поиска это разные строки.
- Никогда не удаляйте дубль через пометку удаления, не переназначив ссылки. Иначе документы останутся ссылаться на удалённый элемент.
Проверка результата после объединения
Пока не проверили — считайте, что объединение не закончено.
Минимальный набор проверок в приёмнике:
- Групповое перепроведение документов за перенесённый период. Движения в регистрах формируются именно при проведении, поэтому без перепроведения остатки будут неверными.
- Сверка остатков по ключевым счетам. Сформируйте оборотно-сальдовую ведомость за период и сравните итоги с теми, что были в источнике до переноса.
- Анализ дублей: убедитесь, что в справочниках контрагентов и номенклатуры нет повторов с одинаковыми реквизитами.
- Экспресс-проверка учёта (в 1С:Бухгалтерии — в разделе отчётов по анализу учёта): покажет расхождения в проводках, которые глазами не видно.
Отдельно проверьте регламентные операции. Если в перенесённый период попадали закрытия месяца, их результат после слияния недостоверен: перепроведите закрытие месяца заново, по порядку, начиная с самого раннего перенесённого периода. То же касается расчёта себестоимости и зачёта авансов — эти операции опираются на всю базу целиком и после объединения требуют пересчёта.
Сравнивайте не только итоговое сальдо, но и обороты за период. Совпадающее сальдо при разных оборотах — признак того, что часть документов не перенеслась или не перепровелась.
Если цифры в приёмнике не сходятся с источником, не правьте данные вручную «на глаз». Вернитесь к копии, снятой сразу после загрузки, и разберитесь, какие именно документы дали расхождение. Точечное восстановление надёжнее массовой ручной правки.
Частые вопросы
Можно ли объединить базы разных конфигураций напрямую?
Перенесутся ли остатки автоматически?
Нужен ли монопольный доступ для объединения?
.dt — да, нужен. Для загрузки данных через XML-обмен монополия не обязательна, но пользователей лучше вывести, чтобы они не создавали документы во время загрузки.Сохранятся ли права пользователей и настройки после объединения?
Что делать, если после объединения всё пошло не так?
.dt, снятой до загрузки. Именно для этого копия и делается. Повторите перенос, уточнив отбор на выгрузке.