5) Копирование заказовТак как покупатели часто заказывают однотипную продукцию, то для их удобства был реализован функционал повторения (копирования) заказов – включая уже произведённое ранее разбиение на отгрузки. Это экономит их время и снижает вероятность ошибок.
6) Автозаполнение заказа клиента в 1СЗаказ клиента, автоматически создаваемый в 1С на основе данных из оформленного в личном кабинете заказа, заполняется не только данными из личного кабинета, но и данными из похожих заказов в 1С.
Интеграция с Битрикс24 и 1С:ERPОдной из ключевых задач проекта была интеграция личного кабинета с CRM-системой Битрикс24 и 1С ERP. Это позволило автоматизировать процесс обработки заказов и заявок, улучшить эффективность и точность бизнес-процессов клиента.
Основные этапы интеграции включали:
1) Разработка механизмов двустороннего обмена между Битрикс24 и 1С:ERP
В Битрикс24 был разработан отдельный кастомный модуль, который позволял обмениваться с 1С такими данными, как компании с их реквизитами, контакты, сделки с товарами, номенклатура каталога товаров, реализации товаров и услуг, товарно-транспортные накладные (ТТН), а также дополнительными данными (не стандартными для 1С – заявки экспедитору, отгрузки по вагонам и пр.)
2) Разработка механизмов двустороннего обмена между Битрикс24 и сайтом личного кабинета покупателя
Для этих целей в Битрикс24 было разработано и зарегистрировано локальное приложение "Обмен с ЛК", которое позволяло сайту личного кабинета обмениваться с Битрикс24 средствами REST API.
При этом данные, поступающие из 1С в Битрикс24, обогащались там доп. данными, которые есть только в Битрикс24 и отсутствуют в 1С, и уже эти обогащённые данные передавались на сайт личного кабинета.
Важным условием интеграции было также то, что сайт личного кабинета получал только те данные, которые на нём востребованы, и ему запрещено было загружать другие данные. Система обмена была устроена таким образом, что на сайт личного кабинета из 1С посредством Битрикс24 агрегировались, отбирались и отправлялись данные только по тем покупателям, которые на нём зарегистрированы.
3) Вычисление на сайте личного кабинета новых статусов отгрузок и заказов (на основе описанных условий присвоения тех или иных статусов)
По каждому заказу покупателя в 1С происходит ряд действий и создаётся множество разных объектов: заказ регистрируется в плане производства, проходит процедуру подтверждения дат отгрузок, создаётся заявка экспедитору, в ней назначается плановая дата прибытия, затем появляется информация о фактической дате прибытия, создаётся реализация, а по ней – товарно-транспортная накладная и т.д. В зависимости от наступления тех или иных событий, а также появления в системе определённых данных (фактическая дата прибытия, например), на сайте личного кабинета должно происходить обновление статуса связанной с этими событиями отгрузки и заказа в целом.
Тестирование и приёмкаВажной для b2b-кабинета стала стадия тестирования, без которой невозможно обеспечить качество и надёжность конечного продукта. Тестирование проводилось поэтапно, на различных уровнях, и включало несколько ключевых направлений:
- Модульное тестирование
- Интеграционное тестирование
- Системное тестирование
- Приёмочное тестирование
Модульное тестированиеНа данном этапе проверялись отдельные компоненты системы на предмет их корректной работы. Для каждого модуля (например, страницы оформления заказа, истории заказов, уведомлений и т.д.) разрабатывались тестовые сценарии, которые покрывали основные функциональные и нефункциональные требования. Тестирование включало: проверку логики бизнес-процессов; тестирование валидности данных; тестирование интерфейсов модулей и их взаимодействия с другими компонентами системы.
Интеграционное тестированиеЭтот этап был направлен на проверку взаимодействия различных модулей между собой и с внешними системами, такими как CRM-система Битрикс24 и ERP-система 1С. Основные задачи: проверка корректности обмена данными между ЛК и Битрикс24 через REST API; тестирование сценариев обработки заказов и заявок в 1С; проверка целостности данных при импорте/экспорте файлов.
Системное тестированиеНа стадии системного тестирования проверялась работа всей системы в целом. Этот этап включал: функциональное тестирование всех основных и дополнительных функций личного кабинета; оценку производительности системы для различного количества пользователей; тестирование на предмет отказоустойчивости и восстановление после сбоев; проверка безопасности системы, включая тестирование уязвимостей и оценку защиты данных пользователей (мы устанавливаем дополнительную защиту для b2b-кабинетов в виде Web Application Firewall, который отражает потенциальные вредоносные атаки).
Приёмочное тестированиеЭтот этап включал проверку системы заказчиком и конечными пользователями на соответствие бизнес-требованиям и ожиданиям. Приёмочное тестирование проводилось в несколько итераций, каждая из которых завершалась получением обратной связи и внесением необходимых коррективов. Основные задачи: проверка соответствия функциональности системы утверждённым требованиям; тестирование пользовательского интерфейса и удобства использования; оценка готовности системы к эксплуатации и проверка выполнения всех критериев приёмки.
Итоги тестированияПо результатам проведённого тестирования система имела хорошие показатели по всем ключевым параметрам:
- Функциональность и бизнес-логика соответствовали требованиям;
- Все модули и интеграции работали корректно, обеспечивая надежный обмен данными между системами;
- Система показала высокую производительность и устойчивость к нагрузкам;
- Были выявлены и устранены все критические и большинство мелких дефектов.
Заключительным этапом тестирования стало финальное тестирование, которое подтвердило готовность системы к запуску в эксплуатацию.