Объединить данные из двух разных баз 1С:Зарплата и управление персоналом в одну — задача, с которой регулярно сталкиваются компании после слияния юридических лиц, централизации кадрового учёта в одной базе или перехода с нескольких разрозненных баз на единую. Кажется, что раз обе базы построены на одной конфигурации, объединить их — вопрос пары дней. На практике всё сложнее: одинаковые справочники (сотрудники, подразделения, начисления) в двух базах ведутся независимо, и при простом переносе данных получаются задвоенные элементы, с которыми потом приходится разбираться вручную. Разберём, почему стандартными средствами это не решается, какие способы объединения проверены на практике и как выбрать подходящий именно для вашей ситуации.
Почему нельзя объединить базы ЗУП стандартными средствами
В 1С:ЗУП нет отдельной команды «объединить две базы в одну» — такой типовой функциональности разработчики платформы не предусмотрели. Это не случайность: объединение двух самостоятельно развивавшихся баз — задача с массой нюансов, которые невозможно закрыть одной универсальной обработкой. Одни и те же сотрудники могут быть заведены в обеих базах с разными кодами, справочники начислений и удержаний могли редактироваться независимо, а история кадровых документов накопилась в каждой базе своя.
Поэтому объединение баз ЗУП — это всегда проект, который выполняют специалисты 1С: они выбирают подходящий технический способ переноса данных, настраивают его под конкретные базы и вручную контролируют результат, особенно в части задвоения справочников. Ниже — три способа, которые проверены на практике специалистами Sky1c, с их реальными плюсами и минусами.
Способ 1. Обработка «Выгрузка и загрузка данных XML»
Это стандартная обработка платформы 1С, которая выгружает данные из одной базы в XML-файл и загружает их в другую. Способ простой и не требует специальных навыков программирования, но у него есть особенность: обработка переносит данные «как есть», без сопоставления с уже существующими элементами справочников в базе-приёмнике. В результате в базе-приёмнике после загрузки появляются дубли — например, один и тот же сотрудник может оказаться заведён дважды: как уже существовавший элемент и как только что загруженный.
Чтобы привести базу в порядок, для каждого вида справочника, где возникли дубли, нужно дополнительно запустить обработку поиска и удаления дублирующихся элементов и вручную проверить, что объединение прошло корректно — особенно там, где на дублирующиеся элементы уже успели «навешаться» новые документы.
- Плюсы: сама обработка бесплатная, входит в состав платформы.
- Минусы: поиск и удаление дублей по каждому справочнику может занять много времени, особенно если базы вели параллельно не один месяц.
Способ 2. Распределённая информационная база (РИБ)
Второй способ — настроить между базами распределённую информационную базу. Суть механизма: одну базу назначают подчинённым узлом, вторую — главным. В подчинённой базе регистрируют изменения всех объектов, которые нужно перенести, и при обмене эти изменения передаются и применяются в главной базе — фактически данные «переезжают» туда через штатный механизм обмена РИБ.
Метод условно бесплатный — он не требует покупки дополнительных инструментов, — но у него есть три существенных ограничения, о которых стоит знать заранее:
- Требование к релизам. Обе базы должны быть на одном и том же релизе конфигурации — если базы обновлялись независимо и разошлись по версиям, перед настройкой РИБ их придётся синхронизировать.
- Дубли элементов справочников. Механизм РИБ ищет и сопоставляет объекты только по внутренней ссылке, а не по содержательным признакам (например, ФИО и дате рождения сотрудника). Если один и тот же человек был независимо заведён в обеих базах, система не поймёт, что это один и тот же сотрудник, и создаст дубль.
- Ограничения по объёму данных. Если данных для переноса много, процесс выгрузки и загрузки может не доходить до конца из-за недостатка оперативной памяти на сервере — тогда обмен приходится дробить на части или дополнительно настраивать сервер.
Способ 3. Правила обмена данными Sky1c
Третий способ — использовать специализированные правила обмена данными в формате XML, разработанные компанией Sky1c специально для переноса и объединения баз 1С:ЗУП. В отличие от универсальной выгрузки-загрузки и механизма РИБ, эти правила изначально написаны с учётом задачи объединения баз и умеют искать объекты не по внутренней ссылке, а по ключевым содержательным полям — благодаря этому дубли элементов справочников не создаются.
Дополнительные возможности инструмента:
- результат переноса можно проверить до приобретения инструмента;
- можно перенести только начальные остатки, не перенося архивную старую информацию, которая не нужна в новой базе;
- можно не переносить уволенных сотрудников, если их данные в новой базе не требуются;
- большие объёмы данных автоматически разбиваются на части, что снимает ограничение по памяти сервера, характерное для способа с РИБ;
- поиск объектов идёт по ключевым полям, поэтому дублирующиеся элементы справочников не появляются.
Из минусов — инструмент «Перенос данных из 1С:ЗУП 3 в 1С:ЗУП 3» платный. При этом он экономит значительное количество времени специалиста 1С: ручной поиск и удаление дублей после способов 1 и 2 может занять больше рабочих часов, чем стоит сам инструмент, поэтому на проектах с большим объёмом данных он обычно окупается.
Сравнение способов
| Способ | Стоимость | Риск дублей в справочниках | Когда подходит |
|---|---|---|---|
| Выгрузка и загрузка XML | Бесплатно | Высокий — дубли нужно искать и удалять вручную по каждому справочнику | Небольшой объём данных, есть время на ручную проверку |
| Распределённая ИБ (РИБ) | Условно бесплатно | Средний-высокий — сопоставление только по ссылке | Базы на одном релизе, умеренный объём данных, есть свободные ресурсы сервера |
| Правила обмена Sky1c | Платно | Низкий — поиск по ключевым полям | Большой объём данных, нужна выборочная миграция (без архива и уволенных), важна экономия времени специалиста |
Какой способ выбрать
Если базы небольшие, объединение разовое и есть время на ручную проверку справочников — подойдёт бесплатная выгрузка-загрузка XML с последующим удалением дублей. Если базы ведутся на одном релизе и объём данных умеренный, можно рассмотреть распределённую информационную базу, но заранее оценить риски дублей и нагрузку на сервер. Если же данных много, нужно перенести только актуальную информацию (без архива и уволенных сотрудников), а время специалиста 1С стоит дороже, чем разница в стоимости способов — оптимальным будет специализированный инструмент с правилами обмена, который сразу исключает задвоение справочников.
Заключение
Объединение двух баз 1С:ЗУП в одну — задача, которую стандартные средства платформы решают лишь частично: сам перенос данных выполнить можно, а вот избежать дублей в справочниках без специализированных инструментов или большого объёма ручной работы — сложно. Выбор способа зависит от объёма данных, требований к чистоте справочников и того, сколько времени специалиста готовы потратить на ручную проверку. Если нужна помощь с объединением баз ЗУП или хотите заранее оценить, сколько времени займёт перенос именно ваших данных — напишите команде Sky1c, поможем подобрать подходящий способ.
