Администрирование · 13 мин
Как объединить файлы и базы 1С: практическое руководство
Практическое руководство по объединению файлов 1С: слияние конфигураций, объединение баз данных, загрузка данных через конвертацию. Пошаговые инструкции и ошибки.
Под «объединением файлов 1С» обычно понимают три разные задачи: слияние двух конфигураций (например, доработанной и типовой), объединение данных из нескольких информационных баз в одну и объединение файлов выгрузки — XML-обменов, выгрузок .dt или файлов поставки .cf. У каждой задачи свой инструментарий, и ошибка в выборе метода приводит либо к потере данных, либо к неработоспособной конфигурации.
Прежде чем начинать, точно определите, что именно нужно объединить: программный код и структуру метаданных, справочники и документы из разных баз или файлы обмена, полученные из филиалов. Дальнейшие разделы разбирают каждый сценарий отдельно с конкретными шагами и проверками результата.
Общее правило для всех сценариев: объединение всегда выполняется на копиях, а не на рабочих базах. Даже штатный механизм сравнения и объединения конфигураций способен при невнимательной настройке затереть доработки, которые восстанавливать придётся вручную.
Определите, что именно нужно объединить
Термин «объединить файлы 1С» скрывает разные технические задачи, и от правильной постановки зависит выбор инструмента. Разберём три основных сценария.
Слияние конфигураций. Нужно, когда у вас есть два файла .cf — например, типовая конфигурация от поставщика и ваша доработанная. Результат — один файл конфигурации, содержащий объекты из обоих источников.
Объединение данных из разных баз. Типичная ситуация: компания вела учёт в двух базах (например, по разным организациям или филиалам) и хочет свести всё в одну. Здесь объединяются не файлы, а содержимое — справочники, документы, остатки.
Объединение файлов выгрузки. Например, несколько XML-файлов обмена из разных узлов РИБ или файлов выгрузки из сторонних программ, которые нужно загрузить в одну базу. В этом случае файлы обычно не «склеиваются», а последовательно загружаются.
Как выбрать действие
Слияние конфигураций через «Сравнение и объединение»
Штатный механизм платформы 1С:Предприятие для слияния конфигураций — «Сравнение и объединение конфигураций». Он доступен в режиме Конфигуратора через меню «Конфигурация». Механизм показывает различия двух конфигураций в виде дерева и позволяет отметить, какие объекты и изменения перенести в основную конфигурацию.
Типовые сценарии применения: внедрение обновления поставщика в доработанную базу, перенос доработок из тестовой конфигурации в рабочую, слияние двух независимо развивавшихся конфигураций. Для обновления типовых конфигураций на поддержке правильнее использовать «Обновление конфигураций» — он учитывает историю версий и работает точнее.
Пошаговый порядок слияния
- 1Сделайте выгрузку .dt основной базы и сохраните текущий .cf через «Сохранить конфигурацию в файл»
- 2Откройте Конфигуратор, меню «Конфигурация» → «Сравнить, объединить с конфигурацией из файла»
- 3Укажите файл .cf, с которым выполняется объединение
- 4В окне сравнения снимите флажки со всего дерева и отметьте только нужные объекты
- 5Для изменённых объектов откройте детальное сравнение и проверьте режимы объединения модулей
- 6Нажмите «Выполнить», затем обновите конфигурацию базы данных (F7)
- 7Протестируйте ключевые сценарии работы: проведение документов, отчёты, печатные формы
Ключевой момент — работа с флажками в дереве сравнения. По умолчанию платформа может предложить объединить все различающиеся объекты, и это опасно: в основную конфигурацию попадут объекты, которые там не нужны, а ваши доработки могут быть замещены версией из файла. Всегда снимайте общий флажок и отмечайте объекты осознанно.
Для модулей (общих модулей, модулей объектов, форм) используйте режим детального сравнения текста. Платформа умеет объединять модули построчно, но при конфликтующих правках одного и того же участка кода автоматическое слияние даёт непредсказуемый результат. В таких местах выбирайте приоритет вручную: «взять из основной конфигурации» или «взять из файла», а затем дописывайте недостающее руками.
Объединение двух файлов .cf без базы
Если нужно объединить два файла конфигурации без привязки к рабочей базе, создайте пустую файловую базу, загрузите в неё первый .cf через «Загрузить конфигурацию из файла», затем выполните «Сравнить, объединить с конфигурацией из файла» со вторым .cf. Результат сохраните через «Сохранить конфигурацию в файл». Это безопасный способ, так как рабочие данные вообще не участвуют в процессе.
Объединение данных из нескольких баз
Объединение содержимого баз — задача сложнее слияния конфигураций, потому что конфликтуют не объекты метаданных, а данные: дубли контрагентов, пересекающиеся номера документов, разные единицы измерения одних товаров. Прямого инструмента «объединить две базы в один клик» в платформе нет — используется перенос данных.
Основные инструменты переноса:
- Конвертация данных — отдельная конфигурация от фирмы «1С» для настройки правил переноса между любыми конфигурациями. Гибкий, но требует навыков настройки правил конвертации объектов и свойств.
- Универсальный обмен данными в формате XML — обработка, идущая в комплекте конвертации данных; подходит для переноса между одинаковыми конфигурациями без настройки правил.
- Типовая синхронизация данных — встроена в большинство типовых конфигураций (например, между Бухгалтерией и Управлением торговлей), настраивается через помощник.
- Обработки загрузки из табличных документов — для переноса справочников через Excel или CSV.
Перенос между одинаковыми конфигурациями
Если обе базы работают на одной конфигурации одной версии, самый простой путь — обработка «Универсальный обмен данными в формате XML». В базе-источнике открываете обработку, выбираете объекты для выгрузки (справочники, документы за период), выгружаете в XML-файл. В базе-приёмнике открываете ту же обработку и загружаете файл.
Объекты сопоставляются по внутреннему уникальному идентификатору (GUID) или по полям поиска. Проблема в том, что один и тот же контрагент в двух независимых базах имеет разные GUID — после загрузки получите дубли. Поэтому перед объединением данных спланируйте нормализацию справочников: либо настройте поиск по реквизитам (ИНН и КПП для контрагентов, наименование и артикул для номенклатуры), либо будьте готовы к поиску и удалению дублей штатной обработкой после загрузки.
Переносите данные в правильном порядке: сначала справочники (валюты, контрагенты, номенклатура, договоры), затем документы, и только потом — остатки и регистры. Если загрузить документы раньше справочников, получите битые ссылки вида «Объект не найден», которые придётся вычищать отдельно.
Перенос между разными конфигурациями
Когда структуры баз различаются (например, сведение самописной конфигурации с Бухгалтерией предприятия), без конвертации данных не обойтись. В ней создаются правила конвертации объектов: какой объект источника в какой объект приёмника превращается, как сопоставляются реквизиты. Для типовых пар конфигураций существуют готовые правила, которые поставляются вместе с конфигурациями или доступны на портале 1С.
Настройка собственных правил — работа для специалиста, знакомого со встроенным языком 1С. Если опыта нет, безопаснее привлечь разработчика: ошибка в правилах конвертации может исказить суммы документов или остатки, и заметить это сразу непросто.
Объединение файлов выгрузки и обменов
Отдельный сценарий — несколько файлов обмена, которые нужно свести в одной базе. Типичный пример: распределённая информационная база, где каждый филиал присылает файл обмена в центральный узел.
XML-файлы обмена 1С не предназначены для ручного «склеивания»: внутри файла есть служебные заголовки, номера сообщений и ссылки, которые при текстовом объединении нарушатся. Правильный подход — последовательная загрузка каждого файла штатными средствами: обработкой «Универсальный обмен данными» или механизмом планов обмена, если базы связаны через РИБ или синхронизацию.
Если речь о выгрузках .dt (полные образы баз), объединить их файловыми средствами невозможно в принципе. .dt — это монолитный дамп базы, который можно только целиком загрузить в пустую базу. Чтобы свести данные из двух .dt, восстановите обе копии и переносите данные между ними через обмен.
Проверка результата после объединения
Объединение считается завершённым не после нажатия кнопки «Выполнить», а после проверки результата. Набор проверок зависит от типа операции.
После слияния конфигураций: выполните «Проверка конфигурации» в Конфигураторе (синтаксический контроль модулей, проверка логической целостности), обновите конфигурацию базы данных и убедитесь, что реструктуризация прошла без ошибок. Затем в пользовательском режиме проверьте ключевые сценарии: создание и проведение документов, формирование основных отчётов, работу печатных форм.
После переноса данных сверьте контрольные итоги: количество загруженных документов с количеством выгруженных (обработка обмена показывает статистику), оборотно-сальдовую ведомость в источнике и приёмнике за одинаковый период, остатки по складу и по расчётам. Расхождение итогов — признак того, что часть объектов не загрузилась или сопоставилась неверно.
Как проверить результат
Нет ошибок синтаксиса и логической целостности
Ошибки в модулях — признак некорректного объединения кода
Загружено столько же объектов, сколько выгружено
Разница в количестве — часть объектов потеряна или отклонена
Сальдо по счетам совпадает
Расхождения — ошибки сопоставления или неполный перенос
Ссылок «Объект не найден» нет
Битые ссылки — нарушен порядок загрузки справочников и документов
Ограничения и когда привлекать специалиста
Самостоятельно и безопасно можно выполнять: слияние конфигураций с небольшим числом изменённых объектов, перенос справочников между одинаковыми конфигурациями, загрузку файлов обмена штатными средствами. Всё это — при условии наличия резервной копии и проверки на тестовой базе.
Привлекайте специалиста по 1С, если: конфигурации сильно доработаны и модули конфликтуют в десятках мест; требуется настройка правил конвертации данных между разными конфигурациями; объединяются базы с многолетней историей документов и живыми остатками; после объединения обнаружились расхождения в учётных данных, причина которых неочевидна. Ошибки в этих сценариях напрямую бьют по достоверности учёта.
Что важно запомнить
Конфигурации объединяются механизмом «Сравнение и объединение» в Конфигураторе с ручным контролем флажков и модулей. Данные из разных баз сводятся переносом через конвертацию данных или универсальный обмен XML — сначала справочники, затем документы. Файлы .dt и XML-обмены «склеивать» нельзя. Любая операция начинается с резервной копии и заканчивается проверкой контрольных итогов.
Частые вопросы
Можно ли объединить два файла выгрузки .dt в одну базу?
Нет, штатного способа слить два .dt не существует: это монолитные дампы, которые загружаются только целиком в пустую базу. Восстановите обе выгрузки в отдельные базы и перенесите данные между ними через конвертацию данных или универсальный обмен XML.
Что делать, если при объединении конфигураций модули конфликтуют?
Откройте детальное сравнение текста модуля и выберите приоритетную версию, затем вручную перенесите нужные фрагменты из второй версии. Автоматическое построчное слияние при конфликте правок одного участка часто даёт нерабочий код, поэтому конфликтные места всегда дорабатываются руками с последующей синтаксической проверкой.
Как избежать дублей контрагентов при объединении двух баз?
Настройте поиск объектов по ключевым реквизитам вместо GUID: для контрагентов — ИНН и КПП, для номенклатуры — артикул и наименование. Если перенос уже выполнен и дубли появились, используйте штатную обработку «Поиск и удаление дублей» — она заменяет ссылки на дубль ссылкой на основной элемент во всех документах.
Отличается ли объединение в файловой и клиент-серверной базе?
Механизмы те же, но в клиент-серверном варианте резервную копию надёжнее делать средствами СУБД, а объединение конфигураций и загрузку данных выполнять в монопольном режиме — иначе активные сеансы пользователей могут блокировать обновление конфигурации базы данных.
Можно ли отменить объединение конфигураций после выполнения?
Отмены в платформе нет. Если конфигурация базы данных ещё не обновлена, закройте Конфигуратор без сохранения. Если обновление выполнено, вернуться можно только к резервной копии — поэтому выгрузка .dt перед операцией обязательна.
Чем отличается синхронизация данных от разового переноса?
Разовый перенос — однократная загрузка данных из источника в приёмник, после чего базы живут независимо. Синхронизация — постоянный обмен по настроенным правилам с регистрацией изменений: подходит, когда обе базы продолжают использоваться параллельно. Для задачи «объединить базы навсегда» нужен разовый перенос, а не синхронизация.