Кейс: перенос синхронизации с 1С с облачного портала Битрикс24 в коробочный

Перенос корпоративного портала Битрикс24 из облака в коробку продолжает оставаться востребованной услугой. С осени 2023 года пропала возможность сделать это штатными средствами: из-за накопившихся в разработке различий между редакциями процедура стала слишком сложной.

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

О заказчике

«Аксиома» — признанный российский производитель эндоскопического и эндовидеохирургического оборудования, отвечающего требованиям международных стандартов безопасности. Компания не новая — ее стаж работы на рынке высококачественного медицинского оборудования и инструментов свыше 35 лет.


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


Специализация:

  • эндовидеохирургия — урология, гинекология, лапароскопия, ректоскопия, бариатрия, торакоскопия, артроскопия;
  • эндоскопия — колоноскопия, бронхоскопия, гастроскопия.

Помимо использования в медицинских целях, приборы применяются и в области ветеринарии. В «копилке» организации порядка 1000 разработанных и произведенных оригинальных изделий.

Задача

В компании решили перенести корпоративный портал из облака в коробку, но при этом было очень важно сохранить синхронизацию с 1С, поскольку она обеспечивала значительную часть работы всей ИТ-инфраструктуры.

Нам предстояло решить непростую задачу: перевести синхронизацию с 1С из облачного сервиса на локальный сервер компании. Сложность заключалась в том, что прямой способ миграции данных между этими средами отсутствует. Тем не менее мы создали и успешно применили инновационное решение, которое позволило эффективно справиться с этой проблемой.

Решение

Имеем два портала: один работает в облаке, второй — его копия, развернутая локально. Но миграция между ними имеет свою особенность: данные передаются через REST API, и при записи на локальный сервер они получают новые идентификаторы (ID). Это создает проблему, ведь связь между 1С и Битрикс24 основана на ID из Битрикс24, которые хранятся в специальном регистре 1С.

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

Может показаться, что проще было взять старые ID, записать их в таблицу, сопоставить с новыми и загрузить в 1С. Однако такой подход таит опасность: малейшая ошибка может привести к серьезным сбоям, угрожая сохранности данных как в 1С, так и в Битрикс24.

Подготовка

Начали с анализа и планирования:

  1. Составление списка сущностей для замены ID — выяснили, что заменить нужно ID всех без исключения сущностей в регистре сопоставлений.
  2. Построение карты связей — создали подробную схему взаимосвязей между данными, включая сложные случаи, когда объекты (например, дела) имеют собственные ID и ID родительских элементов.
  3. Определение сущностей для дополнительной проверки — выделили те данные, которые требуют особого внимания, такие как пользовательские поля или валюты.
  4. Разработка структуры JSON-файла — создали формат для хранения ID сущностей сопоставления между облачным и локальным порталами.
  5. Анализ влияния на настройки обмена — изучили, как операция может повлиять на настройки интеграции, например, на связь с каталогами товаров и предложений.
  6. Тестирование и контроль рисков — для каждого этапа разработали систему тестирования, проверок и журналирования ошибок, особое внимание уделили оценке рисков.

Решено было сначала выполнить полный цикл разработки и обкатки в тестовой среде, а затем перенести процесс в рабочую систему.

Воплощение проекта в жизнь

После успешного запуска на тестовом сервере, мы приступили к основному этапу:

  1. Остановка работы пользователей и синхронизации — приостановили работу системы, чтобы избежать конфликтов данных.
  2. Создание резервных копий — сделали полные бэкапы всех данных для защиты от возможных сбоев.
  3. Подготовка JSON-структуры — используя промежуточную базу, получили JSON-файлы с соответствием ID между облачным и коробочным порталами.
  4. Замена ID и проверка данных — последовательно заменили старые ID на новые и выполнили автоматическую проверку целостности данных в 1С и локальном портале Битрикс24.
  5. Обновление настроек — переименовали портал, смоделировали предельные ситуации и восстановили настройки обмена.
  6. A/B тестирование — начали с простых элементов (единицы измерения и свойства), постепенно переходя к сложным объектам, таким как контрагенты с множеством связей.
  7. Обработка ссылок «1С:Бэкофис 2.0» — отдельно исправили ID и связи в «1С:Бэкофис 2.0» как в Битрикс24, так и в 1С.

Финальное тестирование — провели более 50 тестов по заранее подготовленным сценариям и приняли решение запустить синхронизацию.

Рис.1-5: примеры визуализации процесса, структуры данных и инструментов


Рис 1. Количество сущностей в проекте


Рис 2. Интерфейс обработки смены ID


Рис 3. Пример структуры JSON


Рис 4. Пример логов контроля целостности 


Рис 5. Процесс разработки

Превентивные меры после запуска

Чтобы минимизировать риски после внедрения, мы предприняли следующие шаги:

  • перевели режим восстановления базы 1С в режим полного протоколирования;

  • включили версионирование для всех сущностей, затрагиваемых синхронизацией;

  • настроили автоматическое резервное копирование базы каждые 3 часа через SQL;

  • назначили дежурного специалиста для постоянного мониторинга логов и визуального контроля.

В итоге мы добились безупречного результата — полное отсутствие ошибок! Успешная миграция из облака в коробочную версию Битрикс24 с сохранением синхронизации с 1С стала возможной благодаря грамотной организации работы, вниманию к деталям и эффективному взаимодействию всех участников проекта.

Краткие итоги

Скоординированная работа команды, детальное планирование и системный подход обеспечили безупречное выполнение непростой задачи по переносу ИТ-инфраструктуры компании из облачного Битрикс24 на собственный сервер с поддержанием стабильной синхронизации между всеми компонентами.

Если вы запланировали трансфер портала в коробку, но боитесь, что придется выстраивать всю ИТ-инфраструктуру заново — напишите или позвоните нам. Выполним миграцию с сохранением всех данных, выстроенных бизнес-процессов и интеграций.

Оперативно и совершенно бесплатно ответим на Ваши вопросы!
0