Наш движок всем движкам движок!*

* Лучшая CMS по опросам 2014 года



"Бизнес кейс" - создание калькулятора на основе системы

01.05.13 12:40

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

Естественно, первой мыслью после получения запроса на реализацию подобного функционала было просто описать требования и передать в разработку для создания нового модуля. Однако, при анализе алгоритма работы понимания как подобный модуль может функционировать не возникло. Дело в том, что в большинстве случаев калькуляторы делают на основе java скриптов, и обычно они не имеют никакого интерфейса администратора. Т.е. это просто какие-то презаданные параметры и переменные, которые не предполагают регулярного изменения. Другой вариант калькуляторов реализован на основе технологии flash и еще меньше подразумевает активное администрирование.

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

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

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

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

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

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

Таким образом, имеющиеся модули системы пригодны для реализации сложного функционала при разработке систем расчета стоимости продукции.



К списку публикаций