Слияние документов из нескольких баз 1С 8.3 в одну
Содержание
Объединить документы в 1С 8.3 из двух баз можно тремя способами. Если конфигурации одинаковые (БП 3.0 и БП 3.0) — обработкой «Выгрузка и загрузка данных XML». Если разные (БП 2.0 и БП 3.0, УТ и БП) — «Универсальным обменом данными в формате XML» с файлом правил. Если документов немного или они пришли из Excel — загрузкой табличной части из файла прямо в документ.
Ни один способ не «склеивает» базы кнопкой. Это всегда перенос: из базы-источника документы выгружаются в файл, затем загружаются в базу-приёмник. Главная работа — не сам перенос, а подготовка справочников, чтобы после слияния не получить два «ООО Ромашка» и три «Бумага А4».
Какой способ слияния документов выбрать
Начните с вопроса: что именно вы объединяете и откуда.
| Ситуация | Способ | Когда подходит | Риски |
|---|---|---|---|
| Две базы одной конфигурации, одинаковый релиз | Выгрузка и загрузка данных XML | Слияние баз двух фирм, перенос периода из копии | Дубли справочников, перезапись объектов с тем же идентификатором |
| Разные конфигурации или релизы | Универсальный обмен данными XML + правила | Перенос из БП 2.0, из УТ в БП, из самописной базы | Нужны правила обмена; без них обработка бесполезна |
| Табличная часть в Excel, десятки строк | Загрузка из файла в документ | Накладные поставщика, остатки, инвентаризация | Только строки одного документа за раз |
| Типовые конфигурации, постоянный обмен | Синхронизация данных (Администрирование → Синхронизация данных) | БП ↔ УТ, БП ↔ Розница | Не подходит для разовой склейки двух бухгалтерий |
Если задача — свести несколько документов одной базы в один (например, выставить одну реализацию по трём заказам), переносить ничего не нужно. Выделите исходные документы в списке и создайте новый на основании — в УТ 11 и КА это штатная возможность для заказов клиентов.
Отдельно о том, чего делать нельзя. Загрузка файла .dt через Конфигуратор (Администрирование → Загрузить информационную базу) не объединяет базы. Она полностью заменяет базу-приёмник содержимым файла. Все документы, введённые в приёмник, пропадут.
Подготовка баз перед объединением документов
Подготовка занимает больше времени, чем перенос. Зато именно она решает, придётся ли потом неделю чистить дубли.
Шаг 1. Резервные копии обеих баз
Выгрузите .dt из источника и из приёмника. Для файловой базы можно скопировать каталог с файлом 1Cv8.1CD, но только когда в базе никого нет. Для клиент-серверной базы — выгрузка .dt или резервная копия средствами СУБД.
Выгрузка .dt требует монопольного доступа. Пользователей придётся попросить выйти, их несохранённые данные пропадут. Делайте это вне рабочего времени.
Шаг 2. Одинаковый релиз
Для обработки «Выгрузка и загрузка данных XML» структура метаданных должна совпадать полностью. Проверьте версию в ≡ → Справка → О программе в обеих базах. Если релизы разные — обновите отстающую базу до того же номера. Даже лишний реквизит в справочнике, добавленный программистом в одной из баз, сломает загрузку.
Шаг 3. Проверка целостности
Запустите в Конфигураторе Администрирование → Тестирование и исправление на обеих базах. Отметьте проверку логической и ссылочной целостности. Битые ссылки («Объект не найден») из источника переедут в приёмник и размножатся.
Шаг 4. Ревизия справочников
Здесь кроется главная причина будущих дублей. Каждый элемент справочника в 1С имеет уникальный внутренний идентификатор. Контрагент «ООО Ромашка», заведённый вручную в двух базах, — это два разных объекта с разными идентификаторами. При слиянии оба окажутся в приёмнике.
Что сделать до переноса:
- 📋 выгрузите список контрагентов с ИНН из обеих баз и сравните в Excel;
- 📦 сверьте номенклатуру по артикулам или наименованиям;
- 🏢 проверьте организации: если сливаете две фирмы в одну базу, организация из источника должна приехать как новая;
- 🔢 задайте разные префиксы номеров, чтобы номера документов не пересеклись.
Префикс в БП 3.0 задаётся в карточке организации и в настройках информационной базы. Документ с номером 0000-000015 в источнике и такой же в приёмнике по одной организации за один год — это конфликт уникальности номера.
Шаг 5. Даты запрета изменения
Если в приёмнике установлена дата запрета (Администрирование → Настройки пользователей и прав → Даты запрета изменения), документы прошлых периодов не запишутся. Сдвиньте дату на время загрузки и верните сразу после.
Объединение документов загрузкой из файлов
Этот способ годится, когда документов мало, а данные лежат в Excel: накладная поставщика, ведомость инвентаризации, остатки на начало.
В БП 3.0 у табличной части «Товары» в документах поступления и реализации есть команда «Загрузить». Она открывает форму загрузки из файла: можно вставить данные из буфера обмена или указать файл .xlsx.
Порядок работы:
- Создайте новый документ, заполните шапку: организацию, контрагента, договор, склад.
- В табличной части нажмите «Загрузить».
- Вставьте строки из Excel или выберите файл.
- Сопоставьте колонки: наименование или артикул, количество, цена, сумма.
- Проверьте, какие позиции программа не нашла в справочнике номенклатуры. Создайте их или укажите вручную.
- Подтвердите перенос строк в документ (кнопка внизу формы загрузки), проверьте итоги и проведите.
Перед загрузкой уберите в Excel объединённые ячейки, строки итогов и пустые строки. Числа должны быть числами, а не текстом с пробелами: «1 200,00» с неразрывным пробелом 1С может не распознать.
Ограничение очевидное: один файл — одна табличная часть одного документа. Для сотен документов способ не годится.
Перенос документов между базами одной конфигурации через XML
Обработка «Выгрузка и загрузка данных XML» — внешняя, в поставку конфигурации не входит. Её берут с диска ИТС или у партнёра 1С. Для платформы 8.3 файл обычно называется ВыгрузкаЗагрузкаДанныхXML83.epf.
Обработка переносит объекты вместе с их внутренними идентификаторами. Это и сила, и опасность. Если объект с таким идентификатором уже есть в приёмнике, он будет перезаписан данными из файла.
Выгрузка из базы-источника
- Откройте обработку:
≡ → Файл → Открыть. Если программа выдаёт предупреждение безопасности, подтвердите открытие. Пользователю нужно право на открытие внешних обработок. - На вкладке выгрузки укажите период — например, с 01.01 по 31.03, если переносите квартал.
- В дереве объектов отметьте нужные виды документов: «Поступление (акты, накладные)», «Реализация (акты, накладные)», банковские выписки.
- Справочники, на которые ссылаются документы, отмечать отдельно не нужно — обработка выгрузит их автоматически как связанные объекты.
- Укажите имя файла и запустите выгрузку.
Загрузка в базу-приёмник
- Откройте ту же обработку в приёмнике.
- На вкладке загрузки выберите файл и запустите загрузку.
- Дождитесь сообщения о завершении. Ошибки выводятся в окно сообщений — сохраните их текст.
Документы приезжают с признаком проведения, который был в источнике, но движения по регистрам надо пересчитать. Для этого после загрузки запустите «Групповое перепроведение документов» за весь перенесённый период. В БП 3.0 обработка находится в разделе Операции.
Если в источнике и приёмнике есть объекты с одинаковым идентификатором (например, обе базы когда-то были копиями одной), загрузка перезапишет данные приёмника. Типичный случай: базу скопировали, разделили на две фирмы, через год решили склеить обратно. Документы и справочники с общими «предками» затрут друг друга.
Универсальный обмен данными XML для разных конфигураций
Когда конфигурации разные, нужна обработка «Универсальный обмен данными в формате XML» (файл V8Exchan83.epf для 8.3). Сама по себе она ничего не умеет. Всю логику задаёт файл правил обмена — XML, созданный в конфигурации «Конвертация данных» редакции 2.
Где взять правила:
- 📁 для типовых переходов (например, из старых редакций в БП 3.0) правила входят в комплект поставки обновления — ищите их в каталоге шаблонов конфигурации;
- 🛠 для нетиповых баз правила пишет программист в «Конвертации данных»;
- ❌ правила от другого релиза брать нельзя: они ссылаются на реквизиты, которых может не быть.
Почему правила спасают от дублей
Главное преимущество перед простой выгрузкой XML — поиск объектов по полям. В правилах указано, как искать контрагента в приёмнике: по ИНН и КПП. Номенклатуру — по артикулу или наименованию. Если такой элемент уже есть, документ ссылается на него, новый не создаётся.
Перед загрузкой откройте правила в «Конвертации данных» и проверьте поиск по ключевым справочникам. Это 15 минут работы, которые решают проблему дублей заранее.
Порядок переноса
- В базе-источнике откройте
V8Exchan83.epfчерез≡ → Файл → Открыть. - На вкладке выгрузки укажите файл правил и загрузите их — в окне появится дерево правил выгрузки.
- Отметьте нужные правила (документы), задайте период.
- Укажите имя файла данных и выполните выгрузку.
- В базе-приёмнике откройте ту же обработку, на вкладке загрузки укажите файл данных и загрузите.
- Перепроведите загруженные документы.
Что делать с дублями после слияния баз
Даже при хорошей подготовке что-то задвоится. В БП 3.0 для этого есть штатная обработка: Администрирование → Обслуживание → Корректировка данных → Поиск и удаление дублей.
Как ею пользоваться:
- Выберите справочник, например «Контрагенты».
- Задайте правило сравнения: по ИНН совпадает, по наименованию — похоже.
- Запустите поиск. Обработка покажет группы дублей.
- В каждой группе отметьте оригинал — элемент, который останется.
- Запустите замену. Ссылки во всех документах переключатся на оригинал, дубли будут помечены на удаление или удалены.
Начинайте с организаций и договоров, затем контрагенты, потом номенклатура. Если сначала схлопнуть контрагентов, а договоры оставить двойными, документы окажутся с договором, который принадлежит другому элементу.
После замены ссылок перепроведите документы ещё раз — суммы по регистрам должны совпасть с объединёнными данными.
Проверка итогов после объединения документов
Перенос считается законченным, когда цифры сошлись. Удобный метод — сверка оборотно-сальдовой ведомости.
- До переноса сформируйте ОСВ в источнике за переносимый период. Сохраните в Excel.
- Сформируйте ОСВ в приёмнике за тот же период до загрузки.
- После загрузки и перепроведения — ОСВ в приёмнике ещё раз.
- Если в одной организации: обороты «после» = обороты приёмника «до» + обороты источника.
- Если организации разные — сформируйте ОСВ с отбором по организации из источника. Цифры должны совпасть с источником один в один.
Пример: оборот по дебету 62 в источнике — 1 450 000 руб., в приёмнике до загрузки — 2 300 000 руб. После переноса в той же организации должно стать 3 750 000 руб. Расхождение ищите отчётом «Анализ субконто» по контрагентам.
Дополнительно проверьте:
- 🔍 количество документов каждого вида — в журнале с отбором по периоду;
- 📑 остатки по складам — отчётом «Ведомость по товарам на складах»;
- 🧾 книгу покупок и продаж, если переносили документы с НДС;
- ✅ запустите «Экспресс-проверку ведения учёта» в разделе
Отчёты.
Типичные ошибки при слиянии и способы их устранения
Ещё одна ловушка — перенос в базу, где уже закрыт месяц. Новые документы меняют себестоимость и финансовый результат. После загрузки придётся заново выполнить закрытие месяца за все затронутые периоды, начиная с самого раннего.