
Разработка B2B-модуля коммерческих предложений и презентаций для s-gifts.ru
Спроектировали и разработали высокопроизводительный модуль генерации КП, отказавшись от стандартной «Корзины» 1С-Битрикс. Устранили ошибки обмена с Битрикс24 и ускорили работу менеджеров.
От проблемы к результату
Как мы решали конкретную задачу клиента и что получилось.
Проблема
Менеджеры s-gifts.ru готовили коммерческие предложения сразу в двух системах: на сайте магазина и в портале Битрикс24. Сложная схема обмена данными между ними порождала постоянные ошибки и потери информации. В основе старого функционала лежала стандартная «корзина» Битрикса — тяжёлая сущность с лишними запросами к базе и расчётами, которые не нужны для КП. А работа с сайтом во фрейме внутри Б24 заметно тормозила интерфейс: правка одной позиции требовала пересохранения всего КП, и менеджеры не могли одновременно работать с несколькими предложениями.
Решение
Мы полностью перепроектировали архитектуру. Вместо «корзины» создали два независимых Highload-блока: один хранит данные КП (статусы, менеджеры, суммы), второй — товары. Теперь при правке позиции пересохраняется только одна запись, а не весь массив. На стороне магазина написали собственное API: Битрикс24 не хранит дубликаты, подтягивает данные «на лету», а КП открываются в новой вкладке вместо медленного iFrame.
Фронтенд собрали на Vue.js из собственных компонентов: редактор КП с живым превью листа А4, гибкие настройки отображения (доп. фото, описания, нанесение, тиражи, скидки), массовое добавление нанесения, поиск товаров по артикулу, свои товары и услуги. Реализовали умную генерацию PDF, которая учитывает настройки отображения, и режим презентации — каждый товар становится отдельным слайдом.
Результат
КП и магазин работают на одной базе — исчезли ошибки синхронизации и «лаги» при обмене с Б24. Отказ от iFrame и тяжёлой корзины кратно ускорил сервис на всех этапах: от добавления товара до формирования документа. Менеджеры получили удобный редактор с превью А4, PDF и презентациями для клиентов в одном окне, а новая архитектура полностью исключила конфликты при одновременном редактировании нескольких КП.
Этапы реализации
Архитектурный аудит и отказ от legacy-решений
Проанализировали боли бизнеса: сложная схема обмена с Битрикс24 вызывала ошибки, а использование стандартной сущности «Корзина» и iFrame создавало высокую нагрузку на сервер и конфликты при одновременном редактировании. Приняли решение полностью перепроектировать архитектуру системы.
Проектирование БД на Highload-блоках
Разделили сущности, создав два независимых Highload-блока: один для мета-данных КП (статусы, менеджеры, суммы), второй — для товарной матрицы. Это позволило избежать пересохранения огромных массивов данных при изменении одной позиции и значительно ускорило запросы к БД.
Frontend-интерфейс на Vue.js
Разработали кастомные компоненты редактора КП с live-превью формата А4. Реализовали гибкие настройки отображения (нанесение логотипов, тиражи, скидки, доп. фото), интерактивные слайдеры и попапы. Использование Vue.js обеспечило мгновенный отклик интерфейса без перезагрузки страниц.
API-интеграция с Битрикс24
Написали собственное API на стороне магазина. Битрикс24 теперь не хранит дубликаты данных, а подтягивает ссылки и мета-информацию «на лету». Менеджеры попадают в нативный интерфейс магазина в новой вкладке, что полностью устранило лаги, связанные с работой в iFrame
Генерация PDF и режима «Презентация»
Настроили умную выгрузку в PDF, которая учитывает все кастомные настройки отображения (скрытые скидки, выборочные фото). Дополнительно создали режим веб-презентации, где каждый товар занимает отдельный слайд с возможностью интерактивного просмотра прямо из браузера.