← Назад к кейсам

Кейсы

Безопасное массовое редактирование CRM-сущностей

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

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

Задача

Нужно было сделать локальное приложение для Bitrix24 Cloud, которое позволяет массово обновлять CRM-сущности, но с понятным контролем перед применением изменений.

Массовое изменение без риска испортить CRM

Приложение должно было работать не только с одной сущностью, а сразу с несколькими типами CRM-данных.

Поддержаны такие сценарии:

  • лиды;
  • сделки;
  • контакты;
  • компании;
  • элементы смарт-процессов.

Пользователь должен выбрать сущность, задать фильтр, найти карточки, отметить нужные, задать новые значения полей и только потом применить изменения.

Цена ошибки при массовом обновлении слишком высокая

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

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

Проблема

Главная проблема была не в самом обновлении, а в том, как сделать его управляемым и безопасным для пользователя.

Массовое редактирование слишком рискованно

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

Особенно неприятны такие ситуации в CRM, где данные живые и постоянно используются в работе менеджеров.

Не хватало предпросмотра и отката

Одного только поиска недостаточно. Пользователь должен заранее увидеть, что именно будет изменено: какие карточки выбраны, какие поля затрагиваются и каким станет новое значение.

Кроме того, после применения изменений нужен след операции: кто запускал изменение, что менялось и можно ли это откатить обратно.

Решение

Я сделал локальное приложение «Безопасный массовый редактор CRM». Оно даёт обычный сценарий массового редактирования, но добавляет несколько защитных шагов перед записью.

Безопасный массовый редактор CRM

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

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

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

Сначала найти и проверить, потом менять

Один из самых полезных этапов — предпросмотр. Пользователь сначала задаёт новое значение, потом строит предварительный результат и видит, что именно изменится.

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

Безопасный массовый редактор CRM: найденные и выбранные лиды, а также предпросмотр замены названия
Найденные и выбранные лиды, плюс предпросмотр изменения названия перед применением.

Такой шаг сильно упрощает проверку. До записи в CRM уже видно старое значение, новое значение и те карточки, которые реально попадут в обновление.

История изменений и возможность отката

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

Если изменение было выполнено неудачно или его нужно отменить, приложение позволяет сделать откат по сохранённым старым значениям.

Откат здесь не магический и не транзакционный — это обычное обратное обновление через REST. Но на практике даже такой вариант уже сильно помогает, потому что не нужно вручную восстанавливать каждую карточку.

Результат

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

Редактирование стало контролируемым

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

В итоге приложение дало несколько полезных вещей:

  • поиск карточек по фильтру;
  • выбор конкретных элементов из найденного списка;
  • изменение одного или нескольких полей сразу;
  • обязательный предпросмотр перед применением;
  • журнал операций;
  • откат по сохранённым старым значениям;
  • экспорт результата в CSV.

Для повседневной работы это заметно безопаснее обычного массового редактирования, потому что пользователь видит последствия заранее, а не уже после применения изменений.