Как правильно перенести остатки и документы за период в новую базу 1С:Бухгалтерия 3.0 без дублирования справочников?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

Переход на "чистую" базу с сохранением истории за последний период — задача, с которой часто сталкиваются специалисты при реорганизации учета или желании избавиться от накопленных ошибок прошлых лет. В данной статье мы подробно разберем ситуацию, когда необходимо перенести документы за первый квартал и ввод начальных остатков на начало года в новую пустую базу Бухгалтерия предприятия 3.0.

Основная проблема, с которой столкнулся автор вопроса и с которой сталкиваются многие — это дублирование предопределенных элементов (например, статей затрат, видов субконто и, что самое критичное, счетов в ПланСчетов) при использовании стандартной обработки "Выгрузка и загрузка данных XML". Давайте разберемся, почему это происходит и как выполнить задачу корректно, рассмотрев несколько проверенных методик.

Почему происходит дублирование Плана счетов?

Прежде чем переходить к решениям, давайте поймем техническую суть проблемы. Когда вы используете типовую обработку переноса данных или универсальный обмен, система по умолчанию ищет объекты в базе-приемнике по Уникальному Идентификатору (UID/GUID).

В "чистой" типовой базе, развернутой из шаблона, и в вашей старой рабочей базе предопределенные элементы (например, счет "10.01") могут иметь разные внутренние идентификаторы, несмотря на то, что их код и наименование совпадают. Это происходит, если базы были созданы в разное время или имели разную историю обновлений.

При загрузке происходит следующее:

  1. Обработка пытается найти счет по UID из старой базы.
  2. В новой базе счета с таким UID нет.
  3. Система создает новый элемент (копию), считая его уникальным.
  4. В итоге вы видите два счета "10.01": один "родной" новой базы, второй — приехавший из старой.

Теперь рассмотрим, как этого избежать и перенести данные (особенно если нужно выделить одну организацию из пяти).

Способ 1. Свертка базы (Рекомендуемый)

Самый надежный способ получить "чистую" базу с остатками — это не переносить данные в новую пустую конфигурацию, а отсечь лишнее в копии текущей. Это гарантирует сохранение всех настроек, учетной политики и отсутствие "битых" ссылок.

Мы рекомендуем действовать по следующему алгоритму:

  1. Создайте копию текущей рабочей базы.
  2. В копии запустите типовую операцию Свертка информационной базы (находится в разделе Администрирование -> Сервис).
  3. Установите дату свертки на 31.12. предыдущего года.
  4. Система автоматически сформирует документы ВводНачальныхОстатков (или операции) на эту дату и пометить на удаление все документы до 01.01.
  5. Выполните удаление помеченных объектов.

Этот метод хорош тем, что вам не нужно бороться с переносом справочников — они уже есть в базе.

Способ 2. Выделение одной организации через РИБ

Если в исходной базе велся учет по нескольким организациям (как в рассматриваемом случае — 5 организаций), а перенести нужно только одну, простого удаления документов будет недостаточно, так как база останется большой. Здесь нам поможет механизм Распределенных Информационных Баз (РИБ).

Давайте выполним следующие шаги:

  1. Зайдите в настройки синхронизации данных: Администрирование -> Синхронизация данных.
  2. Настройте РИБ "Полный" (или "По организации").
  3. В настройках фильтрации укажите только одну организацию, которую нужно перенести.
  4. Нажмите "Создать начальный образ". 1С создаст новую физическую базу (файловую), в которую выгрузит данные только по выбранной организации. Обратите внимание: фильтра по дате при создании образа нет, переедет вся история этой организации.
  5. Зайдите в созданную новую базу.
  6. Важный шаг: Отвяжите базу от главного узла. Для этого можно использовать параметры запуска конфигуратора:
    
    /ResetMasterNode
    
    Либо использовать специальную обработку для отключения главного узла. Это превратит периферийную базу в самостоятельную.
  7. После этого примените Способ 1 (Свертка базы) в этой новой базе, чтобы удалить документы прошлых лет и оставить только остатки и 1 квартал.

Способ 3. Перенос через XML с правильной настройкой (Конвертация данных)

Если по каким-то причинам методы свертки не подходят (например, старая база сильно повреждена или "замусорена" метаданными), и вы твердо решили переносить данные в абсолютно чистую базу, необходимо изменить подход к поиску объектов.

Стандартная обработка "Выгрузка и загрузка данных XML" не подойдет без модификации правил. Вам потребуется использовать 1С:Конвертация данных 2.0 (КД).

Чтобы избежать дублей Плана счетов и справочников, выполните следующее:

  1. Выгрузите структуру метаданных старой и новой конфигурации.
  2. Загрузите их в КД 2.0.
  3. Создайте правила обмена или загрузите типовые правила для БП 3.0.
  4. Найдите Правила Конвертации Объектов (ПКО) для ПланСчетов.Хозрасчетный (и других справочников).
  5. В настройках полей поиска снимите галочку "Искать по внутреннему идентификатору объекта источника".
  6. Установите галочки поиска (Поля поиска) напротив полей Код (для счетов) или Наименование / ИНН (для справочников).
  7. Сохраните правила и используйте их для переноса.

При такой настройке при загрузке система увидит, что счет с кодом "10.01" уже есть в новой базе, и "привяжет" загружаемые данные к нему, вместо создания дубля.

Способ 4. Гибридный метод (Свертка в копии + Выгрузка остатков)

Существует еще один элегантный способ, который позволяет избежать переноса "мусора", но при этом использовать стандартные механизмы.

  1. Сделайте копию старой базы.
  2. В копии выполните свертку итогов на 31.12.2024. Получите чистые документы ВводНачальныхОстатков.
  3. В этой же копии оставьте документы за 1 квартал 2025 года.
  4. Теперь используйте универсальный обмен XML (или синхронизацию EnterpriseData), чтобы перенести из этой подготовленной копии в чистую базу только:
    • Документы вида ВводНачальныхОстатков.
    • Документы за период с 01.01.2025.

В этом случае справочники перенесутся "по ссылкам". Однако риск дублирования предопределенных счетов сохраняется, если конфигурации отличаются по релизам или идентификаторам. Поэтому даже в этом случае рекомендуется перед загрузкой убедиться, что идентификаторы счетов совпадают, либо использовать поиск по Коду (как в Способе 3).

Рекомендации по проверке

После выполнения переноса любым из способов обязательно выполните следующие действия:

← На главную