Импорт и экспорт смарт-процессов Битрикс24 — приложение
Дегтярёв Антон.
все приложения
приложение для битрикс24

импорт и экспорт смарт-процессов битрикс24

Таблица переносится в смарт-процесс целиком: строки без ID создают элементы, строки с ID обновляют существующие. Обратная дорога тоже есть — выгрузка выбранных полей в XLSX или CSV, чтобы править данные в Excel и возвращать их в портал.

установить из маркетплейса
таблица вместо ста карточек

Реестр из Excel, выгрузка из 1С, список от подрядчика — всё это заезжает в смарт-процесс одним файлом. Штатного импорта в смарт-процессы у Битрикс24 нет вовсе.

видно, что получится, до записи

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

загрузку можно отменить

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

как перенести таблицу в смарт-процесс

Начните с выгрузки. Она покажет, какие у смарт-процесса поля, как они называются и что в них сейчас лежит. Это и есть основа будущего файла: править готовый список проще, чем собирать его с нуля.

Если элементов ещё нет, скачайте шаблон. Это пустая таблица, где заголовки уже совпадают с полями смарт-процесса, а поля только для чтения в неё не попали — заполнять нечего лишнего.

Загрузите файл и посмотрите предпросмотр. Колонки, названия которых совпали с полями, сопоставляются сами; остальные можно привязать вручную или оставить — о пропущенных столбцах приложение скажет отдельно.

Запустите сухой прогон, потом загрузку. Файл читается первым листом; XLSX, XLS, CSV, TSV, XML и JSON приложение разбирает само, подбирая кодировку и разделитель.

создать новые или обновить существующие

Самый надёжный способ обновления — по ID. Выгрузите элементы, поправьте значения в нужных колонках, не трогая колонку ID, и загрузите файл обратно: каждая строка найдёт свой элемент по номеру.

Если ID в файле нет, элемент ищется по другому полю — номеру заявки, артикулу, внешнему коду, любой их паре. Найденный элемент можно перезаписать значениями из файла или заполнить только пустые поля, не трогая то, что менеджер уже внёс руками.

Строка без совпадения создаёт новый элемент. Если это не нужно, ставится режим «только обновлять найденные» — лишние строки будут пропущены, а не превратятся в дубли. Есть и обратный режим: «всегда создавать новые».

Дубли внутри самого файла приложение тоже видит: две строки с одним клиентом в одной загрузке не создадут двух элементов.

значения приводятся в порядок по дороге

В файле у клиента написано «В работе», а поле ждёт DT1036_17:CLIENT. Приложение понимает и название стадии, и её код, и то же самое делает с ответственным: «Иванов Иван» превращается в идентификатор сотрудника.

На каждую колонку можно повесить правила: привести телефон к единому виду, разобрать дату в любом из привычных написаний, убрать пробелы и лишние нули из числа, подставить значение по словарю, склеить несколько колонок в одно поле с приставками — «Полярная 52 к4, кв. 5, подъезд 2».

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

что видно после загрузки

Сколько элементов создано, сколько обновлено, сколько пропущено и сколько строк не прошло. У каждой упавшей строки — её номер, колонка и причина отказа человеческим языком, а не кодом портала.

Упавшие строки выгружаются отдельным файлом XLSX: исправить в нём и загрузить повторно. Переделывать весь файл и выискивать в нём двадцать строк из восьми тысяч не нужно.

Отдельно отчёт сообщает про столбцы, которые ни с чем не сопоставились. Это не ошибка, а предупреждение: данные из них в CRM не поехали, и узнать об этом лучше сразу.

выгрузка: свои колонки и читаемые значения

Колонки выбираются поштучно, в нужном порядке и с нужными заголовками: «Ответственный» у вас может называться «Менеджером». Коды стадий разворачиваются в названия, идентификаторы сотрудников — в ФИО, ссылки на компании — в названия компаний.

В ту же строку можно добавить поля связанной записи: телефон и почту контакта, название компании, её ИНН, КПП, ОГРН, расчётный счёт и БИК. Собирать это ВПР по второму файлу не придётся.

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

Форматов семь: XLSX, CSV, TSV, JSON, XML, HTML и Markdown. В XLSX числа остаются числами, а даты датами — суммы складываются, даты сортируются.

большой файл не обрывается на середине

Битрикс24 ограничивает и частоту обращений, и суммарную ресурсоёмкость за десять минут. Приложение читает окнами по 2500 записей и пишет пакетами по 50 команд: восемь тысяч строк — это порядка двухсот обращений к порталу вместо восьми тысяч.

Когда портал всё-таки упирается в лимит, приложение ждёт ровно столько, сколько он назвал, и продолжает с того же места. Запуск идёт на сервере: окно приложения можно закрыть, прогресс останется в истории.

Загруженный файл и готовая выгрузка хранятся ограниченное время и удаляются автоматически. Срок у выгрузки короткий намеренно: в ней лежит выгруженная база клиента.

первый перенос за 3 шага

01

Установите приложение из Маркетплейса — оно появится пунктом в левом меню портала. Откройте вкладку «Экспорт», выберите смарт-процесс и несколько полей: так вы увидите его состав и текущие значения.

02

Поправьте выгрузку в Excel или скачайте пустой шаблон с кодами полей. Загрузите файл на вкладке «Импорт» и сверьте предпросмотр.

03

Запустите сухой прогон, убедитесь, что строк столько, сколько нужно, и включите загрузку. Отчёт покажет, что создано, что обновлено и что не прошло.

Приложение работает в облачном Битрикс24. Коробочная версия поддерживается, если портал доступен из интернета по HTTPS. Напишите мне — разберу ваш файл и соберу сопоставление бесплатно.

вопросы по приложению

Чем это отличается от штатного экспорта Битрикс24?

Штатный экспорт отдаёт фиксированный набор колонок и внутренние коды в ячейках. Здесь колонки выбираются поштучно и переименовываются, коды разворачиваются в названия, а в строку можно добавить поля связанного контакта или компании. Штатного импорта в смарт-процессы у портала нет вовсе.

Как приложение понимает, какой элемент обновлять?

По колонке ID, если она есть в файле. Если её нет, элемент ищется по выбранным вами полям — номеру заявки, артикулу, внешнему коду. Строка без совпадения создаёт новый элемент; это поведение переключается на «только обновлять найденные».

Что будет, если в файле ошибка?

Строка с плохой ячейкой не загружается целиком — наполовину заполненных элементов в CRM не появится. Остальные строки проходят как обычно. Упавшие собираются в отдельный XLSX с номером строки, колонкой и причиной: исправить и загрузить повторно.

Можно ли отменить загрузку?

Да. Откат удаляет созданные элементы и возвращает прежние значения обновлённым. Прежние значения приложение сохраняет само перед записью — Битрикс24 историю изменения полей через REST не отдаёт. Откат доступен, пока запись о загрузке есть в истории.

Какие форматы файлов поддерживаются?

На загрузку — XLSX, XLS, CSV, TSV, XML и JSON; кодировка и разделитель определяются автоматически. На выгрузку — XLSX, CSV, TSV, JSON, XML, HTML и Markdown. В XLSX числа остаются числами, а даты датами.

Работает ли приложение со сделками и контактами?

Нет, только со смарт-процессами. Контакты и компании участвуют лишь как связанные записи, на которые ссылается элемент. Для лидов, сделок, контактов и компаний есть отдельные приложения — «Импорт из Excel, CSV и XML» и «Гибкий экспорт».

Сколько строк можно загрузить за раз?

Предел — размер файла, а не число строк: по умолчанию 100 МБ. Скорость упирается в лимиты REST самого Битрикс24: приложение держит допустимый темп и ждёт, когда портал просит подождать, поэтому большой файл идёт дольше, но не обрывается. Окно приложения при этом можно закрыть.

Можно ли закрыть приложение от части сотрудников?

Да, на вкладке «Настройки» — она видна только администратору портала. Доступ открывается всем, только администраторам или выбранным сотрудникам и отделам. Отдельным правилом задаётся, кто вправе запускать импорт: выгрузка только читает, а загрузка пишет в CRM, и давать её всем, кому разрешён отчёт, обычно не нужно. Отдел хранится номером, а не списком людей — кто придёт в отдел завтра, тот и получит доступ.

Кто должен устанавливать приложение?

Администратор портала. Приложение обращается к Битрикс24 от имени того, кто его поставил, и получает ровно то, что видит этот человек: у сотрудника с ограниченным доступом выгрузка молча окажется короче, а запись в чужой элемент получит отказ.

На каком тарифе Битрикс24 это работает?

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

Какие права запрашивает приложение?

Четыре: CRM, «Пользователи» в минимальной версии, «Встраивание приложений» и «Структура компании». Минимальная версия «Пользователей» отдаёт ФИО сотрудников, но не их контактные данные — этого хватает, чтобы подставить ответственного по фамилии. «Встраивание» нужно ровно для одного: поставить пункт приложения в левое меню портала. «Структура компании» читается только затем, чтобы в настройках доступа отдел выбирался по названию, а не по номеру. Виджетов в карточках и списках CRM приложение не добавляет, в мобильное приложение не встраивается, повышенные права не запрашиваются.

Есть ли загрузка по расписанию?

В текущей версии нет: и выгрузка, и загрузка запускаются человеком. Регулярный обмен по расписанию или забор файла по ссылке из учётной системы делается доработкой — напишите, оценю бесплатно.

Лицензионное соглашение · Политика конфиденциальности

задать вопрос

Отвечу в течение часа в рабочее время (Пн–Пт, 9:00–19:00 Мск).

Нажимая "Отправить" я даю свое согласие на обработку моих персональных данных, в соответствии с Федеральным законом от 27.07.2006 года №152-ФЗ «О персональных данных», на условиях и для целей, определенных в Политике обработки персональных данных

вопрос отправлен

Отвечу в течение часа в рабочее время.