Простой инструмент для создания скидок в 1С:ERP вместо сложного типового механизма
| Заказчик | Подписано соглашение о неразглашении (NDA). Сеть магазинов автомобильных запчастей |
|---|---|
| Задача | Упростить создание скидок в 1С:ERP, разработав понятный инструмент для пользователя без технической подготовки |
| Результат | Пользователь самостоятельно создает несколько скидок одним нажатием кнопки в 1С:ERP. Цены автоматически синхронизируются с сайтом |
Ситуация
Компания торгует автозапчастями в офлайне и онлайне. У заказчика около десяти розничных точек и сайт с личными кабинетами покупателей. Для работы с постоянными клиентами заказчик применяет систему скидок. Их назначают конкретным контрагентам, разбивают по торговым маркам, диапазонам цен и другим признакам.
До перехода на 1С компания работала в учетной системе Axapta. Там создание скидок было устроено просто: маркетолог вносил нужные параметры — и скидка появлялась. Все остальное система делала сама.
В 1С:ERP механика скидок оказалась другой. Чтобы скидка заработала, нужно создать несколько связанных объектов в правильном порядке, понять логику соглашений и привязок. Маркетолог в этой механике не разбирался.
В итоге скидки создавали программисты. Маркетолог формулировал задачу, передавал ее программисту и ждал. Одновременно скидки нужно было отражать не только в ERP, но и на сайте. Сайт жил на отдельной базе данных, и данные между системами сами не синхронизировались. После каждого изменения в ERP сайт приходилось обновлять отдельно. Процесс растягивался: простая маркетинговая задача превращалась в цепочку согласований.
Задача
Заказчик обратился в implecs, чтобы разработать инструмент для создания скидок внутри 1С:ERP. Пользователь должен задавать только маркетинговые параметры, а вся техническая часть — создание объектов, привязки и соглашения — должна происходить автоматически.
Дополнительно требовалось настроить выгрузку скидок на сайт, чтобы условия в ERP и онлайн-магазине всегда были одинаковыми.
Решение
Разработку начали с того, что разобрались в механике скидок в 1С:ERP: как устроено создание объектов, в каком порядке они связываются и что нужно, чтобы скидка заработала.
Параллельно выяснили, как менеджер работал в старой Axapta — оказалось, он просто заполнял таблицу с нужными параметрами. Это и стало основой решения: мы взяли привычный для менеджера интерфейс и воспроизвели его — но уже внутри ERP.
Спроектировали интерфейс
Для маркетолога разработали отдельное автоматизированное рабочее место (АРМ) внутри 1С:ERP. В нем пользователь может делать две вещи: смотреть, какие скидки уже действуют у контрагента, и создавать новые.
Просмотр текущих скидок. Маркетолог выбирает контрагента, нажимает «Поиск» — и видит все действующие скидки. Удобно посмотреть, что уже есть, прежде чем вносить изменения.
Создание скидок. Пользователь заполняет таблицу, где строки — это скидки, а столбцы — это параметры. К ним относятся:
-
Торговая марка.
-
Признак номенклатуры — фильтр внутри торговой марки. Например, отдельные группы товаров могут получать свой процент скидки.
-
Процент скидки или наценки. Наценку ставят, когда товар хранится на удаленном складе и доставка обходится дороже обычного.
-
Диапазон цен — опциональный параметр: минимальная и максимальная цена, в пределах которой действует условие.
Менеджер заполняет нужное количество строк и нажимает «Сформировать». Одновременно создается 5–10 скидок — столько строк заполнил, столько скидок и появится в системе. Внутренняя механика ERP — объекты, привязка соглашений, связка с контрагентом — работает автоматически, без дополнительных действий со стороны пользователя.
Добавили проверку пересечений
Перед созданием скидок система проверяет, не пересекаются ли новые скидки с уже действующими. Алгоритм работает в два этапа:
- Сравнивает параметры новых скидок с текущими для этого контрагента. Если пересечение найдено — старая скидка закрывается, на ее месте создается новая.
- Проверяет, нет ли скидок с такими же параметрами в ERP, но без привязки к этому покупателю. Если есть — берется существующий объект, дубль не создается.
Маркетологу об этом думать не нужно: система сама разберется, что закрыть, что создать, что оставить. После нажатия кнопки «Сформировать» форма обновляется и пользователь видит актуальный список скидок контрагента.
Реализовали выгрузку на сайт
Сайт компании работает на отдельной базе данных MySQL. Скидки из ERP туда не попадают автоматически — для этого нужна отдельная операция.
В АРМ добавили кнопку «Выгрузить на сайт», нажатие на которую запускает передачу данных. Сначала из базы сайта удаляются все скидки по этому контрагенту, затем записываются те, что сейчас действуют. Такой подход — очистка и перезапись — гарантирует, что на сайте всегда отражаются актуальные данные без устаревших скидок.
Весь процесс — создание скидок в ERP и их выгрузка на сайт — происходит в два клика.
Непредвиденные трудности
Когда маркетолог выбирает контрагента и нажимает «Поиск», система должна показать актуальный список его скидок — с торговыми марками, признаками и процентами. Чтобы это работало, нужно извлечь торговые марки из существующих скидок.
Проблема была в том, что в 1С:ERP торговая марка хранится не как отдельное поле, а вложена в компоновщик системы компоновки данных внутри реквизита. Чтобы ее извлечь, пришлось написать процедуру, которая перебирает каждую скидку, извлекает компоновщик и вытаскивает нужное значение. Получилось несколько уровней циклов и проверок — и заметная нагрузка на интерфейс.
Чтобы пользователь не ждал с зависшим экраном, операцию вынесли в фоновое задание. Интерфейс не блокируется и менеджер продолжает работать, пока система загружает данные.
Результат
Раньше создание каждой новой скидки начиналось с запроса программисту: маркетолог объяснял задачу, ждал исполнения, а потом договаривался об обновлении сайта. Простая операция растягивалась на несколько итераций.
Теперь маркетолог делает все самостоятельно: открывает АРМ, заполняет таблицу и нажимает две кнопки. Скидки отражаются в ERP и сразу появляются на сайте — синхронизация происходит автоматически.
Длительность. Доработка заняла 100 часов.
Команда. Со нашей стороны над задачей работали разработчик 1С и руководитель проектов. Со стороны заказчика участвовали 3 специалиста: маркетолог, разработчик 1С и администратор базы данных.
под соглашением о неразглашении (NDA),
поэтому вы можете оставить заявку,
и мы расскажем чуть больше
Услуги
Внедрение и переходы
Внедряем конфигурации, исправляем ошибки, настраиваем обмены с внешними системами
Доработка 1С
Автоматизируем рабочие процессы под требования бизнеса
Усиление команды 1С
Подключаем специалистов 1С на нужное количество часов. Вы управляете ими, как своими сотрудниками
Обслуживание 1С
Для стабильной работы информационной системы предприятия
Сопровождение 1С:ИТС
Комплексная поддержка пользователей программ "1С:Предприятие"
Разработка и сопровождение 1С
Оцениваем и выполняем задачи с техзаданием или без него
Битрикс разработчики