К статье
Практический материал

Администрирование · 13 мин

Как объединить файлы и базы 1С: практическое руководство

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

Под «объединением файлов 1С» обычно понимают три разные задачи: слияние двух конфигураций (например, доработанной и типовой), объединение данных из нескольких информационных баз в одну и объединение файлов выгрузки — XML-обменов, выгрузок .dt или файлов поставки .cf. У каждой задачи свой инструментарий, и ошибка в выборе метода приводит либо к потере данных, либо к неработоспособной конфигурации.

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

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

Определите, что именно нужно объединить

Термин «объединить файлы 1С» скрывает разные технические задачи, и от правильной постановки зависит выбор инструмента. Разберём три основных сценария.

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

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

Объединение файлов выгрузки. Например, несколько XML-файлов обмена из разных узлов РИБ или файлов выгрузки из сторонних программ, которые нужно загрузить в одну базу. В этом случае файлы обычно не «склеиваются», а последовательно загружаются.

Маршрут решения

Как выбрать действие

Есть два файла .cf и нужна одна конфигурацияИспользуйте «Сравнение и объединение конфигураций» в Конфигураторе
Нужно перенести справочники и документы из одной базы в другуюИспользуйте конвертацию данных, универсальный обмен XML или типовую синхронизацию
Есть несколько XML-файлов обмена из филиаловЗагружайте их последовательно штатной обработкой обмена, не объединяя сами файлы
Нужно объединить две выгрузки .dt в одну базуПрямого слияния .dt не существует — загружайте данные из каждой базы через обмен

Слияние конфигураций через «Сравнение и объединение»

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

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

Пошаговый порядок слияния

Порядок действий
  1. 1
    Сделайте выгрузку .dt основной базы и сохраните текущий .cf через «Сохранить конфигурацию в файл»
  2. 2
    Откройте Конфигуратор, меню «Конфигурация» → «Сравнить, объединить с конфигурацией из файла»
  3. 3
    Укажите файл .cf, с которым выполняется объединение
  4. 4
    В окне сравнения снимите флажки со всего дерева и отметьте только нужные объекты
  5. 5
    Для изменённых объектов откройте детальное сравнение и проверьте режимы объединения модулей
  6. 6
    Нажмите «Выполнить», затем обновите конфигурацию базы данных (F7)
  7. 7
    Протестируйте ключевые сценарии работы: проведение документов, отчёты, печатные формы

Ключевой момент — работа с флажками в дереве сравнения. По умолчанию платформа может предложить объединить все различающиеся объекты, и это опасно: в основную конфигурацию попадут объекты, которые там не нужны, а ваши доработки могут быть замещены версией из файла. Всегда снимайте общий флажок и отмечайте объекты осознанно.

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

Объединение двух файлов .cf без базы

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

Объединение данных из нескольких баз

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

Основные инструменты переноса:

  • Конвертация данных — отдельная конфигурация от фирмы «1С» для настройки правил переноса между любыми конфигурациями. Гибкий, но требует навыков настройки правил конвертации объектов и свойств.
  • Универсальный обмен данными в формате XML — обработка, идущая в комплекте конвертации данных; подходит для переноса между одинаковыми конфигурациями без настройки правил.
  • Типовая синхронизация данных — встроена в большинство типовых конфигураций (например, между Бухгалтерией и Управлением торговлей), настраивается через помощник.
  • Обработки загрузки из табличных документов — для переноса справочников через Excel или CSV.

Перенос между одинаковыми конфигурациями

Если обе базы работают на одной конфигурации одной версии, самый простой путь — обработка «Универсальный обмен данными в формате XML». В базе-источнике открываете обработку, выбираете объекты для выгрузки (справочники, документы за период), выгружаете в XML-файл. В базе-приёмнике открываете ту же обработку и загружаете файл.

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

Переносите данные в правильном порядке: сначала справочники (валюты, контрагенты, номенклатура, договоры), затем документы, и только потом — остатки и регистры. Если загрузить документы раньше справочников, получите битые ссылки вида «Объект не найден», которые придётся вычищать отдельно.
ПЗ
Практическое замечание

Перенос между разными конфигурациями

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

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

Объединение файлов выгрузки и обменов

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

XML-файлы обмена 1С не предназначены для ручного «склеивания»: внутри файла есть служебные заголовки, номера сообщений и ссылки, которые при текстовом объединении нарушатся. Правильный подход — последовательная загрузка каждого файла штатными средствами: обработкой «Универсальный обмен данными» или механизмом планов обмена, если базы связаны через РИБ или синхронизацию.

Если речь о выгрузках .dt (полные образы баз), объединить их файловыми средствами невозможно в принципе. .dt — это монолитный дамп базы, который можно только целиком загрузить в пустую базу. Чтобы свести данные из двух .dt, восстановите обе копии и переносите данные между ними через обмен.

Типичные ошибки
01
Попытка объединить XML-файлы обмена текстовым редактором — файл становится нечитаемым для платформы, данные теряются
02
Объединение конфигураций с установленными по умолчанию флажками — в базу попадают лишние объекты, а доработки замещаются
03
Загрузка документов до загрузки справочников — массовые битые ссылки «Объект не найден»
04
Перенос данных без сопоставления дублей — задвоенные контрагенты и номенклатура, искажённые отчёты
05
Работа на рабочей базе без копии — при ошибке откат невозможен, восстановление только из архива

Проверка результата после объединения

Объединение считается завершённым не после нажатия кнопки «Выполнить», а после проверки результата. Набор проверок зависит от типа операции.

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

После переноса данных сверьте контрольные итоги: количество загруженных документов с количеством выгруженных (обработка обмена показывает статистику), оборотно-сальдовую ведомость в источнике и приёмнике за одинаковый период, остатки по складу и по расчётам. Расхождение итогов — признак того, что часть объектов не загрузилась или сопоставилась неверно.

Контрольные точки

Как проверить результат

Проверка конфигурации после слияния
Норма

Нет ошибок синтаксиса и логической целостности

Тревожный признак

Ошибки в модулях — признак некорректного объединения кода

Статистика загрузки данных
Норма

Загружено столько же объектов, сколько выгружено

Тревожный признак

Разница в количестве — часть объектов потеряна или отклонена

ОСВ по источнику и приёмнику за один период
Норма

Сальдо по счетам совпадает

Тревожный признак

Расхождения — ошибки сопоставления или неполный перенос

Поиск битых ссылок
Норма

Ссылок «Объект не найден» нет

Тревожный признак

Битые ссылки — нарушен порядок загрузки справочников и документов

Ограничения и когда привлекать специалиста

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

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

Итог

Что важно запомнить

Конфигурации объединяются механизмом «Сравнение и объединение» в Конфигураторе с ручным контролем флажков и модулей. Данные из разных баз сводятся переносом через конвертацию данных или универсальный обмен XML — сначала справочники, затем документы. Файлы .dt и XML-обмены «склеивать» нельзя. Любая операция начинается с резервной копии и заканчивается проверкой контрольных итогов.

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

Можно ли объединить два файла выгрузки .dt в одну базу?

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

Что делать, если при объединении конфигураций модули конфликтуют?

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

Как избежать дублей контрагентов при объединении двух баз?

Настройте поиск объектов по ключевым реквизитам вместо GUID: для контрагентов — ИНН и КПП, для номенклатуры — артикул и наименование. Если перенос уже выполнен и дубли появились, используйте штатную обработку «Поиск и удаление дублей» — она заменяет ссылки на дубль ссылкой на основной элемент во всех документах.

Отличается ли объединение в файловой и клиент-серверной базе?

Механизмы те же, но в клиент-серверном варианте резервную копию надёжнее делать средствами СУБД, а объединение конфигураций и загрузку данных выполнять в монопольном режиме — иначе активные сеансы пользователей могут блокировать обновление конфигурации базы данных.

Можно ли отменить объединение конфигураций после выполнения?

Отмены в платформе нет. Если конфигурация базы данных ещё не обновлена, закройте Конфигуратор без сохранения. Если обновление выполнено, вернуться можно только к резервной копии — поэтому выгрузка .dt перед операцией обязательна.

Чем отличается синхронизация данных от разового переноса?

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