Клиент и контекст
Клиент использует Bitrix24 с активно настроенными смарт-процессами для ведения внутренних реестров (договоры, заявки, объекты, справочники).
Часть данных регулярно формируется и актуализируется во внешних системах и Excel-файлах.
Проблема (бизнес-боль)
- Массовый ввод и обновление элементов смарт-процессов выполнялся вручную
- При импорте больших объёмов данных возникали ошибки и дубли
- Нельзя было гибко сопоставить колонки Excel с полями смарт-процесса
- Отсутствовала возможность обновлять существующие элементы, а не только создавать новые
В результате — потери времени, высокий риск ошибок и низкая масштабируемость процессов.
Цель проекта
Создать удобный и надёжный механизм импорта данных из Excel:
- для создания и обновления элементов смарт-процессов
- с гибкой настройкой сопоставления полей
- с валидацией данных и контролем ошибок
Решение
Реализовали кастомный функционал импорта для смарт-процессов Bitrix24:
- Загрузка Excel-файлов (XLS / XLSX) через интерфейс Bitrix24
- Гибкое сопоставление колонок Excel с полями смарт-процесса (включая пользовательские поля)
- Поддержка двух режимов:
- создание новых элементов
- обновление существующих по ключевому полю (ID, внешний код и т.п.)
- создание новых элементов
- Валидация данных перед импортом:
- обязательные поля
- типы данных
- справочники и списки
- обязательные поля
- Подробный отчёт по результатам импорта:
- сколько элементов создано
- сколько обновлено
- ошибки и причины отклонения строк
- сколько элементов создано
- Безопасная обработка больших файлов (построчная обработка, без тайм-аутов)
Результат
- Импорт сотен и тысяч элементов за несколько минут
- Полный отказ от ручного массового ввода данных
- Существенное снижение ошибок при переносе данных
- Смарт-процессы стали использоваться как полноценные реестры, а не «ручные списки»
Используемые инструменты
- Bitrix24 (смарт-процессы, пользовательские поля)
- PHP (кастомный модуль / компонент)
- Excel (XLS / XLSX)
- Валидация и логирование на уровне бизнес-логики

