Мазмұнға өту
N1
CRM / Bitrix24 · деректер миграциясы · смарт-процестер

Істерді мәмілелерден Bitrix24 смарт-процестер тізбегіне көшіру

Клиент: Заң компаниясы, NDA Санат: CRM / Bitrix24 Стек: PHP 8, Bitrix24 D7 (CRM Factory, смарт-процестер, UF), CFile, Timeline, CLI, роботтарға арналған webhook Мерзім: шамамен 2 апта
Мәселе

Заң компаниясы өндіріп алу істерін кәдімгі мәміле воронкаларында жүргізетін, онда іс жүргізу, заң бөлімінің жұмысы және орындау бір картада араласып кететін. Процесс «іс жүргізу → заң бөлімі → орындау» смарт-процестер тізбегіне ауыстырылды — және жүздеген тірі істі құжаттарымен және тарихымен бірге толық көшіру керек болды.

Шектеулер

Қорапты портал жұмыста, жаппай жазбаны кері қайтаратын құрал жоқ; әр сценарийдің өз өрістері мен тізімдер жиынтығы бар, ал порталдағы файл өрістерінің штаттық сақталуы бүлінген еді — кәдімгі сақтауда файлдар үнсіз жоғалатын.

Не істедім
  • Әр сценарийге көшірілген код орнына ортақ миграция қозғалтқышы: дереккөзді оқу, сатылар, өрістер, файлдар, жазу және есеп — сценарий тек конфигпен беріледі
  • Қауіпсіз іске қосу баспалдағы: өрістер картасын құруға --inspect-fields, жазуды толық алдын ала қарайтын --dry-run, --run және іске қосудан кейінгі бөлек verify
  • Нысандар арасындағы тізімдерді алдымен XML_ID бойынша, содан кейін мән мәтіні бойынша сәйкестендіру; барлық сәйкес келмегендер мен алынып тасталған мәндер журналға жазылады
  • Кез келген форматтағы күндерді қалыпқа келтіру және файлдарды атауларын сақтап көшіру; сақтау бүлінген жағдайда — тікелей жазу және сақтағаннан кейін міндетті салыстыру
  • Кез келген заңгер іс тарихын екі басумен табуы үшін таймлайнда «бастапқы мәміле ↔ жаңа элемент» айқас түсініктемелері; іске қосу журналы бойынша файлдарды жөндеу
  • Bitrix24 роботынан webhook арқылы смарт-процестер арасында көшіру: 4 маршрут профилі, hash_equals арқылы тексерілетін токен бойынша қолжетімділік
Архитектура
Мәміле воронкалары → Миграция қозғалтқышы (өрістер карталары) → Dry-run → run → verify → Смарт-процестер және таймлайн → Роботтарға арналған webhook
Нәтиже

Көшірудің төрт сценарийі (~49, ~61, ~77 және ~20 өріс жұбына арналған карталар) журналдарда бірде-бір қатесіз өтті: мысалы, 335 мәміле бір іске қосуда шамамен 40 секундта көшірілді. Істердің смарт-процестер арасындағы әрі қарайғы қозғалысын робот өзі webhook арқылы іске қосады.

Нені қайта қолдануға болады
«Мәміле/смарт-процесс → смарт-процесс» конфигурацияланатын миграция қозғалтқышы Тізімдерді XML_ID бойынша, мәтін бойынша қосалқы нұсқамен сәйкестендіру Сақтағаннан кейін салыстыра отырып файл өрістерін жазу