
Главная часть переезда учёта закрыта: в новой базе теперь лежит полная операционная история с 2014 года по сегодняшний день — из двух разных старых систем, приведённых к одному виду.
Пилот, ставший конвейером
Сначала руками прошли один месяц: догрузили недостающих контрагентов, перенесли заказы, перемещения и счета, связали их между собой и свели мини-ОСВ с источником — совпало по всем синтетическим счетам. После этого метод превратили в конвейер: скрипт выгрузки года плюс скрипт загрузки, и годы пошли один за другим.
Что было самым тонким
Оценка запасов. Наивный вариант «перенести проводки как есть» задваивает суммы, потому что документы в новой базе генерируют свои. Решение точечное: у месяца сносятся только проводки журналов продаж и закупок — их регенерируют сами документы, — а банковские и общие остаются нетронутыми, там платежи и себестоимость. Складские перемещения на этом этапе нейтральны к учёту, поэтому не двигают ведомость.
Проверка в обе стороны
Финальную сверку делали не «на глаз»: из боевой базы выгрузили список идентификаторов всех валидных документов — счета, заказы обоих типов, проведённые перемещения, проводки, — и сравнили с картами соответствия в обе стороны, плюс погодовая ОСВ обеих баз. Первый прогон показал полторы сотни расхождений: живой прод ушёл вперёд за те дни, что шла миграция, а часть документов там откатили в черновики. Догнали дельту — стало ноль пропусков и ноль лишних по всем пяти типам документов.
Историческая база тоже подтянута
Для 2014–2018 счета были залиты раньше, а заказы и перемещения добавили сверху и связали по номерам-источникам. Затем прошли «полировкой», которой для второй базы занимались отдельно: вернули исторические даты создания и сроки оплаты, авторов документов, статусы выставления счетов. Иначе вся история выглядела бы как созданная сегодня одним ботом.
Итог
Двенадцать лет документов в одной базе, smart-кнопки «Поступления/Счета» на заказах работают, ведомость сходится по годам. Осталось входящие складские остатки — они ждут физической инвентаризации.