[{"data":1,"prerenderedAt":634},["ShallowReactive",2],{"blog-\u002Fblog\u002Fimport-eksport-smart-processov-bitrix24":3},{"id":4,"title":5,"body":6,"category":622,"date":623,"description":624,"extension":625,"meta":626,"navigation":627,"path":628,"readingTime":629,"seo":630,"seoTitle":631,"stem":632,"__hash__":633},"blog\u002Fblog\u002Fimport-eksport-smart-processov-bitrix24.md","Импорт и экспорт смарт-процессов Битрикс24: как переносить связанные данные без дублей",{"type":7,"value":8,"toc":598},"minimark",[9,13,16,21,33,36,45,49,58,61,64,68,71,94,97,205,208,212,223,226,229,232,251,254,258,269,272,320,333,350,353,357,360,375,378,382,385,391,394,398,401,404,407,424,428,439,459,470,474,477,480,483,486,507,514,518,523,526,530,533,537,540,544,547,551,554,558,565,569,572],[10,11,12],"p",{},"В каталоге 800 единиц оборудования, к ним привязаны 2400 заявок на обслуживание. Вы загрузили обе таблицы в Битрикс24, количество строк совпало. Через неделю выясняется: часть заявок ссылается на другое оборудование, паспорта недоступны, а повторная загрузка создала второй комплект карточек.",[10,14,15],{},"Чтобы такого не произошло, до импорта нужно договориться о трёх вещах: как узнавать уже существующий объект, как восстанавливать его связи и как подтверждать результат каждой записи. Разберём перенос на учебном примере. Это схема проектирования обмена, которую можно реализовать через подходящее приложение или собственную интеграцию.",[17,18,20],"h2",{"id":19},"что-именно-переносим","Что именно переносим",[10,22,23,24,28,29,32],{},"В примере есть два смарт-процесса: ",[25,26,27],"strong",{},"Оборудование"," и ",[25,30,31],{},"Сервисные заявки",". В оборудовании хранятся инвентарный номер, модель, площадка, ответственный и паспорт. В заявке: номер обращения, оборудование, проблема, срок и стадия. У одного станка бывает несколько заявок, но каждая заявка относится к конкретной единице оборудования.",[10,34,35],{},"Это важное различие: каталог оборудования здесь является реестром отдельных станков, а не товарным каталогом с ценами и остатками. Одинаковая модель ещё не означает один объект. Два компрессора одной марки должны получить разные карточки.",[10,37,38,39,44],{},"Сначала составьте перечень переносимых данных. Укажите отдельно карточки, справочники, связи, файлы и настройки. Если нужны комментарии, дела, история стадий или роботы, внесите их отдельными пунктами: наличие этих сведений в исходной системе не доказывает, что выбранный способ переноса их поддерживает. Общую модель таких сущностей мы разбирали в статье ",[40,41,43],"a",{"href":42},"\u002Fblog\u002Fsmart-processy-bitrix24","о смарт-процессах Битрикс24",".",[17,46,48],{"id":47},"когда-хватает-csv-а-когда-нужен-управляемый-обмен","Когда хватает CSV, а когда нужен управляемый обмен",[10,50,51,52,44],{},"В режиме «Список» Битрикс24 позволяет экспортировать элементы смарт-процесса в CSV или Excel. Это удобно для сверки, обработки таблицы и передачи выбранных полей. Способ выгрузки описан в ",[40,53,57],{"href":54,"rel":55},"https:\u002F\u002Fhelpdesk.bitrix24.ru\u002Fopen\u002F18913888\u002F",[56],"nofollow","официальной справке",[10,59,60],{},"Но таблицу нельзя автоматически считать полной копией процесса. Столбец «Оборудование» может содержать название, которого недостаточно для восстановления связи. Ссылка на паспорт не заменяет сам файл. А выгруженные значения стадий не создают соответствующую воронку в другом портале.",[10,62,63],{},"Простой загрузчик подходит, когда его возможности проверены на вашей структуре: он понимает нужные типы полей, поддерживает требуемые связи и умеет обновлять записи по выбранному ключу. Для регулярного обмена добавляются другие требования: предварительный просмотр изменений, журнал, повторный запуск после сбоя и отдельная обработка конфликтов. Их нужно проверить до покупки или разработки решения.",[17,65,67],{"id":66},"сопоставляем-поля-по-смыслу-и-типу","Сопоставляем поля по смыслу и типу",[10,69,70],{},"Одинаковые подписи полей не гарантируют одинакового устройства. Площадка в исходнике бывает строкой, а в целевом процессе - списком. Ответственный может выглядеть как фамилия, хотя для записи нужен идентификатор пользователя.",[10,72,73,74,82,83,86,87,44],{},"В REST API набор и конфигурацию полей конкретного типа возвращает ",[40,75,78],{"href":76,"rel":77},"https:\u002F\u002Fapidocs.bitrix24.ru\u002Fapi-reference\u002Fcrm\u002Funiversal\u002Fcrm-item-fields.html",[56],[79,80,81],"code",{},"crm.item.fields",". Перед загрузкой проверьте тип, множественность, обязательность и доступность для записи. Идентификатор типа смарт-процесса ",[79,84,85],{},"entityTypeId"," получают через ",[40,88,91],{"href":89,"rel":90},"https:\u002F\u002Fapidocs.bitrix24.ru\u002Fapi-reference\u002Fcrm\u002Funiversal\u002Fuser-defined-object-types\u002Fcrm-type-list.html",[56],[79,92,93],{},"crm.type.list",[10,95,96],{},"Для нашего примера карта переноса выглядит так:",[98,99,100,116],"table",{},[101,102,103],"thead",{},[104,105,106,110,113],"tr",{},[107,108,109],"th",{},"Исходное значение",[107,111,112],{},"Целевое поле",[107,114,115],{},"Правило преобразования",[117,118,119,133,144,155,166,179,192],"tbody",{},[104,120,121,127,130],{},[122,123,124],"td",{},[79,125,126],{},"EQ-0042",[122,128,129],{},"Внешний ключ оборудования",[122,131,132],{},"Сохранять строкой, не убирать ведущие нули",[104,134,135,138,141],{},[122,136,137],{},"«Компрессор К-7»",[122,139,140],{},"Название",[122,142,143],{},"Не использовать как уникальный ключ",[104,145,146,149,152],{},[122,147,148],{},"«Северный склад»",[122,150,151],{},"Площадка, список",[122,153,154],{},"Найти согласованный вариант целевого списка",[104,156,157,160,163],{},[122,158,159],{},"«Анна Петрова»",[122,161,162],{},"Ответственный",[122,164,165],{},"Сопоставить с подтверждённым пользователем",[104,167,168,173,176],{},[122,169,170],{},[79,171,172],{},"25.10.2026 14:30",[122,174,175],{},"Срок обслуживания",[122,177,178],{},"Разобрать дату с согласованным часовым поясом",[104,180,181,186,189],{},[122,182,183,185],{},[79,184,126],{}," в заявке",[122,187,188],{},"Связь с оборудованием",[122,190,191],{},"Подставить ID созданной или найденной карточки",[104,193,194,199,202],{},[122,195,196],{},[79,197,198],{},"passport-42.pdf",[122,200,201],{},"Паспорт, файл",[122,203,204],{},"Загрузить содержимое и проверить открытие",[10,206,207],{},"Отдельно задайте правила для десятичных разделителей, валюты, значений «да\u002Fнет» и множественных полей. Неизвестную площадку или сотрудника отправляйте на разбор. Назначение случайного значения по умолчанию делает импорт внешне успешным, но искажает данные.",[17,209,211],{"id":210},"выбираем-постоянный-ключ-чтобы-повторный-запуск-не-создавал-дубли","Выбираем постоянный ключ, чтобы повторный запуск не создавал дубли",[10,213,214,215,218,219,222],{},"Для оборудования подходит неизменяемый ключ из учётной системы, например ",[79,216,217],{},"erp:equipment:EQ-0042",". Для заявки - ",[79,220,221],{},"service:request:SR-0187",". Префикс защищает от совпадения одинаковых номеров из разных источников.",[10,224,225],{},"Название, номер строки и комбинация «модель + площадка» для этого ненадёжны. Название исправят, строки переставят, а на площадке могут стоять два одинаковых станка. Если инвентарный номер разрешено менять, постоянным ключом должен стать другой идентификатор, а номер останется обычным полем.",[10,227,228],{},"Храните ключ в согласованном поле карточки и в таблице соответствий интеграции. Возможность записи поля проверьте по конфигурации. Само наличие внешнего кода не заменяет контроль его уникальности.",[10,230,231],{},"Для каждой строки выполняйте один алгоритм:",[233,234,235,239,242,245,248],"ol",{},[236,237,238],"li",{},"Найти запись по точному внешнему ключу.",[236,240,241],{},"Нет совпадений - запланировать создание.",[236,243,244],{},"Одно совпадение - сравнить значения и обновить только изменившиеся поля.",[236,246,247],{},"Несколько совпадений - остановить эту строку и зарегистрировать конфликт.",[236,249,250],{},"После записи сохранить целевой ID и подтверждённый результат.",[10,252,253],{},"Такой повторяемый перенос называют идемпотентным: один и тот же пакет не должен создавать новые копии. Для этого также исключите одновременное создание по одному ключу двумя обработчиками. Иначе оба могут проверить отсутствие карточки до того, как первый успеет её сохранить.",[17,255,257],{"id":256},"восстанавливаем-связи-через-таблицу-соответствий","Восстанавливаем связи через таблицу соответствий",[10,259,260,261,264,265,268],{},"При переносе в другой портал не рассчитывайте сохранить числовые ID. Оборудование с исходным ID ",[79,262,263],{},"42"," может стать карточкой ",[79,266,267],{},"901",". Исходный ID без указания системы и типа сущности также неоднозначен.",[10,270,271],{},"Поэтому сначала загрузите оборудование и заполните таблицу:",[98,273,274,287],{},[101,275,276],{},[104,277,278,281,284],{},[107,279,280],{},"Внешний ключ",[107,282,283],{},"Исходный ID",[107,285,286],{},"Целевой ID",[117,288,289,303],{},[104,290,291,295,299],{},[122,292,293],{},[79,294,217],{},[122,296,297],{},[79,298,263],{},[122,300,301],{},[79,302,267],{},[104,304,305,310,315],{},[122,306,307],{},[79,308,309],{},"erp:equipment:EQ-0043",[122,311,312],{},[79,313,314],{},"43",[122,316,317],{},[79,318,319],{},"902",[10,321,322,323,326,327,329,330,332],{},"Затем обрабатывайте заявки. Строка ",[79,324,325],{},"SR-0187"," с ключом оборудования ",[79,328,126],{}," должна получить связь с целевой карточкой ",[79,331,267],{},". Если соответствие не найдено, заявка остаётся в очереди ошибок. Создавать незаметную пустую карточку оборудования опасно: при следующем запуске появится конкурирующий объект.",[10,334,335,336,339,340,345,346,349],{},"В универсальных методах CRM связи с родительскими элементами могут передаваться полями ",[79,337,338],{},"parentId{entityTypeId}",". Конкретное поле зависит от настроенных отношений и должно присутствовать в схеме целевого процесса. Формат описан в ",[40,341,344],{"href":342,"rel":343},"https:\u002F\u002Fapidocs.bitrix24.ru\u002Fapi-reference\u002Fcrm\u002Funiversal\u002Fobject-fields.html",[56],"справочнике полей CRM",". Для пользовательской привязки сначала проверьте именно её контракт, а не подставляйте ",[79,347,348],{},"parentId"," по аналогии.",[10,351,352],{},"Если две сущности ссылаются друг на друга, предусмотрите отдельный проход установки связей после создания обеих сторон. Обязательность таких полей нужно согласовать заранее: иначе создать исходные карточки без связей не получится.",[17,354,356],{"id":355},"различаем-пустое-значение-очистку-и-конфликт","Различаем пустое значение, очистку и конфликт",[10,358,359],{},"Пустая ячейка может означать отсутствие данных в этой выгрузке или требование удалить значение. Это разные операции. Разумное правило для частичных обновлений: отсутствие поля сохраняет текущее значение, а очистка требует явного признака в пакете.",[10,361,362,363,370,371,374],{},"Метод ",[40,364,367],{"href":365,"rel":366},"https:\u002F\u002Fapidocs.bitrix24.ru\u002Fapi-reference\u002Fcrm\u002Funiversal\u002Fcrm-item-update.html",[56],[79,368,369],{},"crm.item.update"," принимает в ",[79,372,373],{},"fields"," поля, которые требуется изменить. Формат очистки нужно проверять отдельно для каждого типа. Например, у файлов есть собственные правила сохранения, замены и удаления. Передача пустых значений во все столбцы без разбора способна стереть нужные сведения.",[10,376,377],{},"Решите и вопрос владения данными. Допустим, учётная система ведёт модель и инвентарный номер, а сервисная команда - комментарий и срок выезда. Тогда регулярная загрузка оборудования не должна перезаписывать сервисные поля. Если один срок разрешено менять в обеих системах, сравнивайте с последним подтверждённым состоянием: два независимых изменения требуют решения владельца процесса, а не правила «последняя загрузка победила».",[17,379,381],{"id":380},"сначала-проверяем-план-изменений-без-записи","Сначала проверяем план изменений без записи",[10,383,384],{},"Перед первым импортом запустите dry-run: обработчик читает пакет и целевые данные, но ничего не создаёт и не обновляет. На выходе нужен понятный план: сколько объектов будет создано, обновлено, пропущено и остановлено из-за ошибок.",[10,386,387,388,390],{},"План должен показывать конкретные изменения. Например: у ",[79,389,126],{}," площадка изменится с Северного склада на Цех № 2. Общее количество обновляемых записей не помогает заметить ошибку сопоставления.",[10,392,393],{},"Возьмите небольшой пилот с разными случаями: новое оборудование, существующая карточка, несколько заявок на один станок, файл, пустое поле и конфликт ключей. Проведите импорт, затем повторите тот же пакет. Во втором запуске не должно появиться новых карточек и необъяснимых изменений. Это полезнее, чем сразу проверять только большой объём.",[17,395,397],{"id":396},"обрабатываем-ошибки-и-неоднозначные-ответы","Обрабатываем ошибки и неоднозначные ответы",[10,399,400],{},"Ошибку значения поля, недостаток прав и временный сбой нельзя отправлять в одну бесконечную очередь повторов. Некорректную дату исправляют в данных. Отказ в доступе требует настройки прав. Временную ошибку обрабатывают с паузой и ограниченным числом попыток.",[10,402,403],{},"Особый случай - таймаут после отправки создания. Ответ не получен, но карточка могла сохраниться. Не повторяйте создание вслепую: сначала выполните чтение по внешнему ключу и сравните состояние. Если результат остаётся неопределённым, оставьте операцию на проверку. Это лучше, чем получить дубль после автоматического повтора.",[10,405,406],{},"В журнале храните номер запуска, внешний ключ, операцию, целевой ID, результат проверки, код ошибки и номер попытки. Не записывайте туда токены и полные содержимые файлов. По журналу должно быть понятно, какие строки подтверждены, какие требуют исправления и какие ещё нельзя безопасно повторять.",[10,408,409,410,413,414,417,418,423],{},"Для ошибок интенсивности ",[79,411,412],{},"QUERY_LIMIT_EXCEEDED"," и ресурсоёмкости ",[79,415,416],{},"OPERATION_TIME_LIMIT"," Битрикс24 описывает разные причины и порядок ожидания. Очередь должна учитывать ",[40,419,422],{"href":420,"rel":421},"https:\u002F\u002Fapidocs.bitrix24.ru\u002Flimits.html",[56],"актуальные ограничения REST API",", а не считать все ошибки разрешением немедленно отправить запрос снова.",[17,425,427],{"id":426},"учитываем-права-страницы-выгрузки-и-роботов","Учитываем права, страницы выгрузки и роботов",[10,429,430,431,438],{},"Доступность данных проверьте от имени той учётной записи, под которой работает обмен. ",[40,432,435],{"href":433,"rel":434},"https:\u002F\u002Fapidocs.bitrix24.ru\u002Fapi-reference\u002Fcrm\u002Funiversal\u002Fcrm-item-list.html",[56],[79,436,437],{},"crm.item.list"," не включает элементы, для которых у пользователя нет права чтения. Поэтому пустая выборка ещё не доказывает, что карточки отсутствуют: ошибка прав может привести к повторному созданию существующих объектов.",[10,440,441,442,445,446,449,450,452,453,458],{},"Полная выгрузка требует прохода по всем страницам. Для следующей страницы значение ",[79,443,444],{},"next"," передают в ",[79,447,448],{},"start","; завершение определяется отсутствием ",[79,451,444],{},". Этот механизм описан в ",[40,454,457],{"href":455,"rel":456},"https:\u002F\u002Fapidocs.bitrix24.ru\u002Fsettings\u002Fhow-to-call-rest-api\u002Flist-methods-pecularities.html",[56],"документации списочных методов",". Сохранение только первой страницы даст аккуратный, но неполный файл.",[10,460,461,462,469],{},"Ещё до пилота проверьте автоматизацию. При создании через ",[40,463,466],{"href":464,"rel":465},"https:\u002F\u002Fapidocs.bitrix24.ru\u002Fapi-reference\u002Fcrm\u002Funiversal\u002Fcrm-item-add.html",[56],[79,467,468],{},"crm.item.add"," выполняются проверки полей, а после сохранения запускаются роботы. Массовая загрузка исторических заявок может разослать уведомления или создать новые задачи. Заранее согласуйте режим миграции и испытайте его на тестовых элементах. Не предполагайте, что слово «импорт» само отключит автоматические действия.",[17,471,473],{"id":472},"делаем-экспорт-из-которого-можно-восстановиться","Делаем экспорт, из которого можно восстановиться",[10,475,476],{},"Если цель - перенос или восстановление, проектируйте экспорт как пакет. Рекомендуемый состав: данные обоих процессов, постоянные ключи, карта полей, справочники с кодами, таблица связей, файлы и описание формата. Для файлов сохраняйте имя, размер и контрольную сумму; для пакета - время выгрузки и версию схемы.",[10,478,479],{},"Такой пакет ещё не является полной резервной копией Битрикс24. Он восстанавливает только явно включённые данные и настройки. Доступность переноса истории, комментариев и автоматизации проверяется отдельно.",[10,481,482],{},"Если во время экспорта сотрудники продолжают менять карточки, разные части пакета могут описывать разные моменты времени. Выберите согласованное окно переноса или предусмотрите догрузку изменений после исходной выгрузки. Затем попробуйте восстановить пилот в тестовом процессе: это покажет, чего не хватает в пакете, пока исходная система ещё доступна.",[10,484,485],{},"Приёмка должна включать больше, чем сравнение количества карточек:",[487,488,489,492,495,498,501,504],"ul",{},[236,490,491],{},"все ожидаемые внешние ключи присутствуют ровно один раз;",[236,493,494],{},"каждая заявка связана с правильной единицей оборудования;",[236,496,497],{},"файлы открываются, а значения списков и ответственные соответствуют карте;",[236,499,500],{},"контрольные суммы, количества и распределение по стадиям совпадают в согласованных пределах;",[236,502,503],{},"повторный запуск не создаёт дубли;",[236,505,506],{},"исправленные строки можно обработать отдельно, не загружая всё заново.",[10,508,509,510,44],{},"Общие этапы подготовки переезда разобраны в статье ",[40,511,513],{"href":512},"\u002Fblog\u002Fperenos-dannyh-v-bitrix24-iz-drugoy-crm","о переносе данных в Битрикс24 из другой CRM",[17,515,517],{"id":516},"частые-вопросы","Частые вопросы",[519,520,522],"h3",{"id":521},"можно-ли-перенести-смарт-процесс-одним-excel-файлом","Можно ли перенести смарт-процесс одним Excel-файлом?",[10,524,525],{},"Файл может быть входом для переноса, если загрузчик понимает его структуру. Но отдельно нужно проверить создание полей, восстановление связей, загрузку файлов и обновление существующих карточек. Совпадения заголовков столбцов недостаточно.",[519,527,529],{"id":528},"как-обновлять-записи-без-дублей","Как обновлять записи без дублей?",[10,531,532],{},"Выберите постоянный внешний ключ, проверьте его уникальность и ищите карточку до создания. Сохраняйте соответствие с целевым ID, исключите параллельное создание по одному ключу и проверяйте результат после неоднозначного ответа.",[519,534,536],{"id":535},"почему-нельзя-связывать-заявки-по-названию-оборудования","Почему нельзя связывать заявки по названию оборудования?",[10,538,539],{},"Названия повторяются и меняются. Два станка одной модели могут стоять рядом. Заявка должна хранить ссылку на конкретный объект, найденный по постоянному ключу и таблице соответствий.",[519,541,543],{"id":542},"что-делать-с-пустыми-ячейками-при-обновлении","Что делать с пустыми ячейками при обновлении?",[10,545,546],{},"Сначала определить их смысл. Для частичной выгрузки пустота обычно означает отсутствие новых данных. Очистку оформляют отдельной операцией и проверяют её формат для конкретного типа поля.",[519,548,550],{"id":549},"достаточно-ли-сохранить-csv-на-случай-ошибки","Достаточно ли сохранить CSV на случай ошибки?",[10,552,553],{},"Для восстановления связанных данных дополнительно нужны ключи, схема полей, справочники, связи и сами файлы. Самая убедительная проверка пакета - пробное восстановление с повторной сверкой карточек.",[17,555,557],{"id":556},"следующий-шаг","Следующий шаг",[10,559,560,561,44],{},"До выбора инструмента подготовьте небольшой пример выгрузки и опишите, какие поля, связи и правила обновления должны сохраниться. По нему проще проверить подходящее решение и оценить доработку. Если нужна помощь с такой схемой, ",[40,562,564],{"href":563},"\u002Fcontacts#project-form","расскажите о задаче Aventra",[17,566,568],{"id":567},"источники","Источники",[10,570,571],{},"Технические особенности сверены с официальной документацией Битрикс24 на 25 октября 2026 года. Алгоритм ключей, журналирования и приёмки - рекомендации по проектированию переноса.",[487,573,574,580,586,592],{},[236,575,576,44],{},[40,577,579],{"href":54,"rel":578},[56],"Экспорт элементов смарт-процесса в CSV и Excel",[236,581,582,44],{},[40,583,585],{"href":76,"rel":584},[56],"Конфигурация полей элемента: crm.item.fields",[236,587,588,44],{},[40,589,591],{"href":365,"rel":590},[56],"Обновление элемента и правила работы с файлами",[236,593,594,44],{},[40,595,597],{"href":420,"rel":596},[56],"Лимиты REST API и обработка ограничений",{"title":599,"searchDepth":600,"depth":600,"links":601},"",3,[602,604,605,606,607,608,609,610,611,612,613,620,621],{"id":19,"depth":603,"text":20},2,{"id":47,"depth":603,"text":48},{"id":66,"depth":603,"text":67},{"id":210,"depth":603,"text":211},{"id":256,"depth":603,"text":257},{"id":355,"depth":603,"text":356},{"id":380,"depth":603,"text":381},{"id":396,"depth":603,"text":397},{"id":426,"depth":603,"text":427},{"id":472,"depth":603,"text":473},{"id":516,"depth":603,"text":517,"children":614},[615,616,617,618,619],{"id":521,"depth":600,"text":522},{"id":528,"depth":600,"text":529},{"id":535,"depth":600,"text":536},{"id":542,"depth":600,"text":543},{"id":549,"depth":600,"text":550},{"id":556,"depth":603,"text":557},{"id":567,"depth":603,"text":568},"Интеграции","2026-10-25","Как перенести каталог оборудования и связанные заявки в смарт-процессы Битрикс24: сопоставить поля, сохранить связи, обновить записи без дублей и проверить результат.","md",{},true,"\u002Fblog\u002Fimport-eksport-smart-processov-bitrix24","11 мин",{"title":5,"description":624},"Импорт и экспорт смарт-процессов Битрикс24 без дублей","blog\u002Fimport-eksport-smart-processov-bitrix24","TXbkpwVoc8HdWUp6CIRB8MVdLm7qlg-sQ-IalUo_Dzs",1792925211372]