Ситуация, когда учет параллельно ведется в двух разных базах 1С:Бухгалтерия предприятия (например, после перехода с 7.7 или из-за организационных особенностей), встречается довольно часто. Рано или поздно возникает необходимость слияния этих данных в одну целевую базу. Рассмотрим подробно, как реализовать разовую выгрузку данных БП-БП, проанализируем доступные инструменты и выберем оптимальную стратегию, чтобы избежать хаоса в справочниках и регистрах учета.
Прежде чем приступать к написанию собственных правил в сложных инструментах, проанализируем возможности современного встроенного механизма. Формат EnterpriseData — это современный стандарт обмена, который ориентирован не на внутреннюю структуру таблиц базы данных, а на бизнес-логику объектов.
Разберем по шагам, как это работает в типовой конфигурации:
Поступление (акты, накладные, УПД) и Зарплата) и период выгрузки.Преимущество этого метода: он наиболее дружелюбен к пользователю и не требует навыков программирования. Система сама сопоставит многие объекты по ключевым полям.
Если базы значительно отличаются по наполнению справочников или типовой механизм EnterpriseData не справляется с сопоставлением, перейдем к использованию инструмента Конвертация данных 2.0. Это классический способ настройки правил обмена (xml), который позволяет гибко управлять поиском объектов.
Проанализируем ситуацию: по умолчанию 1С ищет объекты по внутреннему идентификатору GUID. Поскольку базы создавались независимо, GUID одних и тех же контрагентов или номенклатуры будут разными. Это приведет к неминуемому дублированию записей.
Разберем по шагам настройку правил поиска в КД 2.0:
Конвертация данных.Контрагенты в настройках правила поиска (ПКО) снимем галочку Искать по внутреннему идентификатору.ИНН и КПП. Для физических лиц (сотрудников) настроим поиск по СНИЛС или ФИО + Дата рождения.Номенклатура настроим поиск по Артикул или Наименование.Пример логики поиска в обработчике ПриЗагрузке (если требуется сложная проверка):
// Пример алгоритма поиска контрагента по ИНН, если стандартный поиск не подошел
Если СвойстваПоиска["ЭтоГруппа"] = Ложь Тогда
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Справочник.Контрагенты ГДЕ ИНН = &ИНН";
Запрос.УстановитьПараметр("ИНН", СвойстваПоиска["ИНН"]);
// Выполняем поиск и возвращаем ссылку
КонецЕсли;
Рассмотрим вариант использования внешней обработки ВыгрузкаЗагрузкаДанныхXML.epf. Этот метод самый быстрый в плане запуска, но самый опасный в плане возникновения дублей. Его стоит использовать только в том случае, если вы точно знаете, что НСИ (нормативно-справочная информация) в базах абсолютно идентична или справочники в целевой базе практически пусты.
Важно помнить: при загрузке данных через эту обработку объекты будут созданы с теми же GUID, что и в источнике. Если вы планируете в дальнейшем настраивать регулярную синхронизацию, это может быть полезно. Однако, если в базе-приемнике уже есть Контрагент с тем же ИНН, но другим GUID, вы получите дубль.
Выясним причину, почему даже при идеальных правилах могут появиться дубли. Человеческий фактор (разное написание названий, лишние пробелы) часто обходит автоматические фильтры. Рассмотрим, как привести базу в порядок после слияния:
Используем штатную обработку Поиск и удаление дублей (Администрирование — Обслуживание). Проанализируем важный нюанс: при объединении двух карточек контрагентов 1С переносит все ссылки из документов на "правильную" карточку. Но что происходит с реквизитами?
Важный момент: Если у "Дубля №1" заполнен адрес, а у "Оригинала" — нет, то после объединения (если выбрать "Оригинал" главным) адрес может не перенестись автоматически, если правила объединения не настроены вручную. Поэтому перед массовым удалением дублей рекомендуется визуально сравнить ключевые поля объединяемых элементов.
Поскольку целью объединения часто является сдача отчетности (например, НДС), простого переноса документов Поступление и СчетФактураПолученный недостаточно. Проанализируем ситуацию с регистрами накопления:
НДС Предъявленный. При проведении документов в новой базе движения по этому регистру должны сформироваться корректно исходя из настроек учетной политики целевой базы.Распределение НДС.Формирование записей книги покупок, чтобы новые данные попали в декларацию.Подводя итог, выберем наиболее сбалансированный путь для разового переноса:
Разовый перенос БП-БП — это всегда сочетание автоматизированной выгрузки и последующей ручной проверки данных. Посмотрите на оборотно-сальдовую ведомость до и после слияния, чтобы убедиться, что сальдо по счетам 60, 62 и 10 не "раздвоилось" из-за дублей справочников.