Перенос остатков из «замусоренной» или старой базы в чистую — задача, с которой рано или поздно сталкивается любой специалист 1С. Казалось бы, алгоритм прост: выполнить свертку типовой обработкой, получить документы Ввод остатков или Операция и перенести их в новую информационную базу с помощью универсальной обработки ВыгрузкаЗагрузкаXML. Однако на практике специалисты часто сталкиваются с «эффектом снежного кома»: попытка выгрузить одну операцию ввода остатков приводит к тому, что в файл выгрузки попадает добрая половина старой базы (тысячи документов прошлых периодов). Разберем по шагам, почему это происходит и как выполнить перенос максимально «чисто».
Основная причина кроется в принципе ссылочной целостности, на котором базируется обработка ВыгрузкаЗагрузкаXML. Когда мы помечаем для выгрузки документ Операция (бухгалтерский и налоговый учет), программа анализирует все ссылки, содержащиеся в его движениях. Если в качестве субконто на счетах расчетов (60, 62, 76) указан конкретный «Документ расчетов» (накладная, акт, счет-фактура), обработка обязана включить этот объект в файл, чтобы ссылка не стала «битой». Этот документ, в свою очередь, ссылается на договор и контрагента, а также может иметь связи с другими документами (например, через регистры НДС). В результате механизм «тянет» за собой всю цепочку взаимосвязанных объектов.
Если нам не принципиально хранить детальную историю по конкретным первичным документам в новой базе, мы можем применить методику «заглушки». Рассмотрим этот алгоритм подробнее:
Документ расчетов (ручной учет).Поиск и замена значений или Групповая обработка справочников и документов.Важно: этот метод подходит только в том случае, если вам не требуется в новой базе восстанавливать книгу покупок/продаж по старым авансам в автоматическом режиме, так как аналитика по конкретным счетам-фактурам будет утеряна.
Часто свертка не дает ожидаемого эффекта из-за кривого ведения учета. Проанализируем ситуацию в ОСВ по счетам 60, 62 и 76. Проблема «бабочек» — это наличие одновременно дебетового и кредитового остатка по одному контрагенту и договору, но на разных документах расчетов.
Проанализируем шаги по очистке перед выгрузкой:
Групповое перекрытие задолженности. Если остатки по документам схлопнутся, количество ссылок в операциях ввода остатков существенно сократится.Наиболее профессиональный и гибкий подход — написание простых правил обмена. Это позволит нам контролировать, какие данные переносятся «по ссылке», а какие — только по ключевым полям.
Рассмотрим, как настроить правила в КД для нашей задачи:
ОперацияБух.Субконто1, Субконто2), в обработчике ПередВыгрузкой можно прописать условие, которое будет проверять тип данных.Пример кода в ПВД (Правилах выгрузки данных) для фильтрации только нужных документов:
// Пример фильтрации выгрузки движений
Если Источник.Дата < ДатаСвертки Тогда
Отказ = Истина; // Не выгружаем движения старше даты свертки
КонецЕсли;
Если задача стоит не перенести данные в новую базу, а максимально облегчить текущую после свертки, рассмотрим методику «жесткой зачистки»:
Тестирование и исправление (ТиИ) с включенными опциями:
Проанализируем ситуацию с регистрами накопления НДС (НДС Продажи, НДС Покупки, НДС Предъявленный). Свертка создает движения не только по бухгалтерскому плану счетов, но и по этим регистрам. В них ссылки на первичные документы (счета-фактуры) являются ключевыми для корректного формирования отчетности в будущем.
Если вы планируете продолжать вести учет НДС в новой базе (например, принимать к вычету НДС по старым авансам), вам придется перенести документы-основания, по которым есть остатки на счетах 76.АВ и 76.ВА. В этом случае выгрузка «с движениями» оправдана, но только для узкого круга документов. Для этого в обработке ВыгрузкаЗагрузкаXML рекомендуется использовать фильтр по периоду или конкретным типам документов, чтобы не захватить лишнего.
Подведем итог нашему исследованию. Чтобы перенос остатков прошел успешно:
ВыгрузкаЗагрузкаXML только если вы предварительно разорвали связи через «документ-заглушку» или если база небольшая.Конвертации данных. Это позволит перенести только те документы, по которым действительно есть остатки, игнорируя «хвосты» закрытых периодов.Помните, что чистота новой базы зависит не только от способа переноса, но и от того, насколько корректно была проведена подготовка данных в базе-источнике.