Почему разовая миграция 1С не работает
Данных не хватает. Часть объектов или атрибутов не соответствует структуре целевой системы — их нужно дополнительно сопоставлять или преобразовывать.
Формат данных не подходит. Некоторые записи не проходят валидацию или не могут быть десериализованы в структуру приёмника. Если такие ошибки не отслеживать и не накапливать для повторной обработки, данные теряются.
Конфликты очередности. Если порядок обработки не контролируется, более новые записи могут быть перезаписаны историческими.
Процессы меняются, значит нужны новые данные. Переход на новую систему почти всегда сопровождается изменениями бизнес-процессов — появляются новые объекты, атрибуты и требования к структуре данных.
Новые требования в ходе проекта. По мере внедрения возникают дополнительные сценарии, которые изначально не учитывались.
В итоге перенос данных превращается в итерационный процесс настройки, где правила сопоставления постепенно уточняются.
«Миграция — это не разовая акция, а последовательность итераций. После каждой из них вы узнаёте что-то новое о данных, и правила уточняются. Без возможности гибко настраивать и перезапускать обмен остается риск упустить критически важную информацию.»
Пыстин Степан, CTO Денвик Аналитика
Типовые сценарии миграции данных
В проектах вокруг 1С чаще всего встречаются два сценария миграции.
Переход между системами 1С
Это может быть переезд со старой или доработанной конфигурации на более современную. Часто используют инструменты Конвертации данных, которые считывают метаданные обеих систем и позволяют настроить соответствие объектов. Подход хорошо работает, если структуры систем близки друг к другу. Но при миграции кастомизированных или устаревших систем готовых правил обмена нет — их приходится разрабатывать.
Миграция между 1С и другими системами
Второй сценарий — обмен между 1С и внешними системами: SAP, корпоративные сайты, зарубежные ERP, внутренние сервисы и самописные приложения. В таких случаях обмен обычно строится через API, интеграционные шины, промежуточные базы данных или очереди сообщений.
Если требуется организовать обмен, например, с SAP, нужны инструменты извлечения и загрузки данных в эту систему. Практический пример такой архитектуры подробно разобран в статье: Импортозамещение SAP: переезд на 1С. Архитектура решения. В ней рассматриваются сценарии промышленного перехода с SAP на 1С: выгрузка данных через SAP ODP, подготовка данных и загрузка в 1С без рисков для бизнеса.
Если обмен требуется построить со сторонним приложением — например, сайтом или внутренним сервисом — необходимо определить доступные интерфейсы взаимодействия (API, доступ к реляционной базе данных, файловый обмен). От этого зависит архитектура интеграции.
Поэтапная миграция: как выглядит рабочий процесс
Поскольку разовый перенос редко возможен, используется поэтапный переход между системами. Суть подхода проста: новая система вводится не сразу для всей компании, а по предметным областям.
Сначала выбирается группа процессов или подразделение, которое можно перенести в новую систему без критического влияния на остальную инфраструктуру. Для этой группы переносятся справочники, исторические документы, остатки и связанные данные. После этого сотрудники начинают работать в новой системе, в то время как остальная часть компании продолжает использовать старую. Такой переход может занимать от 1 до 3 месяцев.
Зачем нужна двусторонняя синхронизация данных
Когда системы работают параллельно, данные продолжают изменяться в обеих. Сотрудники в старой системе создают документы, а часть пользователей уже работает в новой.
Поэтому на этапе перехода необходимо обеспечить двусторонний инкрементальный обмен данными: изменения из старой системы передаются в новую, а результаты работы пользователей в новой системе возвращаются обратно.
При этом важно определить master-систему для каждого процесса. Если один и тот же объект может создаваться в двух системах одновременно, неизбежно возникает рассогласование данных.
Архитектура миграции данных
В большинстве проектов используется архитектура с промежуточным слоем обработки данных. Упрощённо она выглядит так:
Система-источник → Извлечение данных → Промежуточное хранилище или очередь → Подготовка и трансформация данных → Промежуточное хранилище → Загрузка → Система-приёмник
Промежуточный слой выполняет несколько важных функций:
-
накопление данных перед обработкой;
-
повторная обработка ошибок;
-
контроль очередности операций;
-
мониторинг состояния обмена.
Такой подход применяется как при миграции между системами 1С, так и при интеграции с другими платформами.
Реализация для сценария 1С→1С на базе Denvic Tools
Если ваша задача — миграция между двумя контурами 1С (например, со старой или кастомизированной конфигурации на новую), описанную выше архитектуру можно реализовать полностью на базе Denvic Tools — без отдельной разработки обменов «с нуля».
В этой схеме роли компонентов распределяются так:
-
Экстрактор 1С — Извлечение данных. Выгружает данные из 1С-источника во внешний слой (промежуточную БД или очередь). Для больших объёмов это позволяет работать пакетами и дальше догружать изменения инкрементально.
-
Denvic Visual Transformer (DVT) — Подготовка и трансформация. Накапливает данные, выполняет очистку/нормализацию, преобразует структуру под модель приёмника и формирует готовые наборы данных для загрузки.
-
Инжектор 1С — Загрузка. Загружает подготовленные данные в 1С-приёмник, сопоставляя поля источника и объектов 1С. Поскольку миграция почти всегда проходит итерациями, важна возможность быстро уточнять маппинг и повторять загрузку до корректного результата.
Упрощённо это выглядит так:
1С (источник) → Экстрактор 1С → промежуточная БД/очередь → DVT → промежуточная БД/очередь → Инжектор 1С
Если миграция выполняется поэтапно и два контура некоторое время работают параллельно, к «прямому» контуру добавляют обратный обмен (инкрементально). Это нужно, чтобы результаты работы пользователей в новом контуре оставались доступными тем, кто ещё работает в старом. Главное — заранее определить master-систему для каждого процесса, чтобы исключить двойной ввод данных.
Дорожная карта проекта миграции
Практический проект миграции обычно включает несколько этапов.
-
Сбор требований и анализ источников данных.
-
Описание маппинга объектов между системами и проектирование процессов работы в новой системе.
-
Развёртывание тестового контура, на котором выполняется перенос данных и отладка обмена.
-
Когда обмен стабилизирован, предметная область переносится на продуктивный контур.
-
Процесс повторяется для следующей области.
Контроль и наблюдаемость
Во время миграции важно постоянно контролировать состояние обмена. Для этого обычно используются:
-
журналы выполнения операций;
-
мониторинг очередей обработки;
-
уведомления об ошибках;
-
повторная обработка неуспешных записей.
Без наблюдаемости миграция быстро становится неконтролируемым процессом.
Когда применять поэтапную миграцию
Поэтапный переход особенно востребован в следующих проектах:
-
миграция крупных систем 1С;
-
переход между кастомизированными конфигурациями;
-
интеграция 1С с внешними системами;
-
консолидация нескольких информационных систем;
-
проекты импортозамещения ERP.
Во всех этих случаях параллельная работа систем позволяет снизить риски и постепенно адаптировать процессы.


