Переход на "чистую" базу с сохранением истории за последний период — задача, с которой часто сталкиваются специалисты при реорганизации учета или желании избавиться от накопленных ошибок прошлых лет. В данной статье мы подробно разберем ситуацию, когда необходимо перенести документы за первый квартал и ввод начальных остатков на начало года в новую пустую базу Бухгалтерия предприятия 3.0.
Основная проблема, с которой столкнулся автор вопроса и с которой сталкиваются многие — это дублирование предопределенных элементов (например, статей затрат, видов субконто и, что самое критичное, счетов в ПланСчетов) при использовании стандартной обработки "Выгрузка и загрузка данных XML". Давайте разберемся, почему это происходит и как выполнить задачу корректно, рассмотрев несколько проверенных методик.
Прежде чем переходить к решениям, давайте поймем техническую суть проблемы. Когда вы используете типовую обработку переноса данных или универсальный обмен, система по умолчанию ищет объекты в базе-приемнике по Уникальному Идентификатору (UID/GUID).
В "чистой" типовой базе, развернутой из шаблона, и в вашей старой рабочей базе предопределенные элементы (например, счет "10.01") могут иметь разные внутренние идентификаторы, несмотря на то, что их код и наименование совпадают. Это происходит, если базы были созданы в разное время или имели разную историю обновлений.
При загрузке происходит следующее:
Теперь рассмотрим, как этого избежать и перенести данные (особенно если нужно выделить одну организацию из пяти).
Самый надежный способ получить "чистую" базу с остатками — это не переносить данные в новую пустую конфигурацию, а отсечь лишнее в копии текущей. Это гарантирует сохранение всех настроек, учетной политики и отсутствие "битых" ссылок.
Мы рекомендуем действовать по следующему алгоритму:
ВводНачальныхОстатков (или операции) на эту дату и пометить на удаление все документы до 01.01.Этот метод хорош тем, что вам не нужно бороться с переносом справочников — они уже есть в базе.
Если в исходной базе велся учет по нескольким организациям (как в рассматриваемом случае — 5 организаций), а перенести нужно только одну, простого удаления документов будет недостаточно, так как база останется большой. Здесь нам поможет механизм Распределенных Информационных Баз (РИБ).
Давайте выполним следующие шаги:
/ResetMasterNode
Если по каким-то причинам методы свертки не подходят (например, старая база сильно повреждена или "замусорена" метаданными), и вы твердо решили переносить данные в абсолютно чистую базу, необходимо изменить подход к поиску объектов.
Стандартная обработка "Выгрузка и загрузка данных XML" не подойдет без модификации правил. Вам потребуется использовать 1С:Конвертация данных 2.0 (КД).
Чтобы избежать дублей Плана счетов и справочников, выполните следующее:
ПланСчетов.Хозрасчетный (и других справочников).Код (для счетов) или Наименование / ИНН (для справочников).При такой настройке при загрузке система увидит, что счет с кодом "10.01" уже есть в новой базе, и "привяжет" загружаемые данные к нему, вместо создания дубля.
Существует еще один элегантный способ, который позволяет избежать переноса "мусора", но при этом использовать стандартные механизмы.
ВводНачальныхОстатков.ВводНачальныхОстатков.В этом случае справочники перенесутся "по ссылкам". Однако риск дублирования предопределенных счетов сохраняется, если конфигурации отличаются по релизам или идентификаторам. Поэтому даже в этом случае рекомендуется перед загрузкой убедиться, что идентификаторы счетов совпадают, либо использовать поиск по Коду (как в Способе 3).
После выполнения переноса любым из способов обязательно выполните следующие действия: