При внедрении программ лояльности в торговых предприятиях часто возникают нестандартные требования к бонусным системам, которые выходят за рамки типового функционала. В данном материале мы рассмотрим, как можно реализовать такие пожелания в 1С:Управление торговлей 11 (УТ 11), проанализируем возможности стандартных настроек и определим, когда потребуется разработка.
Перед нами стоят две основные задачи, озвученные пользователем:
Давайте разберем каждое из этих пожеланий подробнее.
Рассмотрим возможности типового функционала УТ 11 для реализации такого сложного условия списания бонусов.
В 1С:УТ 11 функционал бонусных программ позволяет достаточно гибко настраивать правила их применения. Для этого используются настройки в разделе «НСИ и администрирование» → «CRM и маркетинг» → «Бонусные программы».
Однако, здесь мы сталкиваемся с ограничением: типовая система позволяет задать фиксированный максимальный процент (или фиксированный процент для каждой ценовой группы), но не умеет динамически изменять этот процент в зависимости от сложного условия, такого как соотношение суммы покупки и текущего бонусного баланса на карте.
Типовой функционал УТ 11 не предусматривает встроенного механизма для реализации динамического изменения максимального процента оплаты бонусами в зависимости от соотношения суммы покупки и количества бонусов на карте. Система не может автоматически проанализировать это соотношение в момент оформления продажи и принять решение о 100% или 50% списании.
Например, если вы установите максимальный процент 50%, то клиент никогда не сможет оплатить 100% покупки бонусами, даже если его бонусов в два раза меньше суммы чека. И наоборот, если установить 100%, то система не будет ограничивать списание до 50% при невыполнении условия.
Для реализации первого пожелания потребуется доработка конфигурации. Мы можем рассмотреть следующие подходы:
Нам потребуется внести изменения в алгоритмы расчета списания бонусов. Это может быть реализовано путем:
ЧекККМ) или в рабочем месте кассира.
// Пример псевдокода для обработки списания бонусов
// Предположим, у нас есть СуммаПокупки и ДоступныеБонусы
Если СуммаПокупки >= (ДоступныеБонусы * 2) Тогда
МаксимальныйПроцентСписания = 100;
Иначе
МаксимальныйПроцентСписания = 50;
КонецЕсли;
// Применяем рассчитанный процент к доступным бонусам или сумме чека
// и предлагаем сумму к списанию пользователю
В некоторых случаях можно попробовать реализовать подобную логику через внешние обработки, которые могли бы корректировать сумму к оплате бонусами перед окончательным расчетом, но это менее удобно для кассира, так как требует дополнительных действий.
Важный момент: При доработке необходимо тщательно продумать взаимодействие с типовым механизмом скидок и бонусов, чтобы избежать конфликтов и некорректных расчетов.
Теперь рассмотрим второе пожелание, которое состоит из нескольких частей.
Эту часть можно реализовать несколькими способами в типовой УТ 11:
Мы можем использовать стандартный документ Начисление и списание бонусных баллов. При выдаче новой карты, оператор вручную или с помощью небольшой доработки для автозаполнения, может ввести этот документ, указав клиента и начислив 500 баллов. Это просто, но требует ручного действия или минимальной автоматизации.
Для частичной автоматизации можно создать обработку, которая при регистрации новой карты лояльности или нового клиента, автоматически формировала бы и заполняла данный документ, предлагая его к проведению.
В УТ 11 есть возможность привязать к виду карты лояльности определенные автоматические скидки и начисления. Мы можем создать новую бонусную программу, которая будет начислять 500 бонусов, и связать ее с определенным видом карты лояльности. Тогда при выдаче такой карты и совершении первой покупки (или при другом условии активации, если оно предусмотрено), эти бонусы будут начислены.
Шаги для настройки:
При оформлении продаж с такой картой, система автоматически начислит стартовые 500 бонусов.
Эту часть также можно реализовать штатными средствами через механизм автоматических скидок:
Перейдите в раздел «CRM и маркетинг» → «Настройки и справочники» → «Автоматические скидки в продажах». Создайте новую скидку.
Скидка (наценка) процентом.Таким образом, когда кассир будет сканировать карту лояльности определенного вида, система автоматически применит 10% скидку ко всей сумме чека (если нет других ограничений).
Это самое сложное условие второго пожелания. Анализ типового функционала показывает, что прямого штатного механизма для реализации этого условия нет.
В 1С:УТ 11 мы можем настроить:
Однако, типовой функционал не позволяет автоматически и динамически исключить применение одной скидки (10%) к той части суммы чека, которая уже оплачивается *другим видом оплаты* (бонусами). Система не разделяет сумму чека на "оплаченную деньгами" и "оплаченную бонусами" для целей применения других скидок. Скидки применяются к общей сумме товаров до этапа оплаты.
Для реализации этого требования потребуется доработка. Мы можем рассмотреть следующие подходы:
Нам потребуется изменить стандартный механизм расчета скидок и бонусов, чтобы он учитывал это условие. Это может быть сделано на этапе расчета чека в РМК или при проведении документа ЧекККМ.
Предположим, что в чеке есть товары на сумму 1000 руб. и клиент хочет оплатить 200 руб. бонусами, а также имеет 10% скидку. По типовой логике, 10% скидка будет применена к 1000 руб., уменьшив сумму к оплате до 900 руб., а затем из этих 900 руб. будут вычтены 200 бонусов. Итого к оплате деньгами: 700 руб.
Нам же нужно, чтобы 10% скидка не действовала на 200 руб. (оплаченные бонусами). То есть, скидка должна примениться только к 800 руб. (1000 руб. - 200 руб. оплаченных бонусами).
Это означает, что сначала мы должны определить, сколько бонусов будет списано. Затем, из общей суммы покупки вычесть сумму, оплаченную бонусами. И только к оставшейся сумме применить 10% скидку.
// Пример псевдокода для модификации расчета
СуммаПокупки = ...; // Общая сумма товаров в чеке
СуммаОплачиваемаяБонусами = ...; // Сколько бонусов хочет списать клиент
СуммаДляПримененияСкидки = СуммаПокупки - СуммаОплачиваемаяБонусами;
СуммаСкидки = СуммаДляПримененияСкидки * 0.10; // 10% скидка
ИтогоКОплатеДенежнымиСредствами = СуммаПокупки - СуммаОплачиваемаяБонусами - СуммаСкидки;
ЧекККМ или РеализацияТоваровУслуг) или в подсистеме рабочего места кассира.Важно: Подобная доработка затрагивает ключевые механизмы ценообразования и расчетов, поэтому требует тщательного тестирования, чтобы не нарушить другие бизнес-процессы.
Прежде чем приступать к сложным настройкам или доработкам, убедимся, что базовый функционал бонусной системы включен и настроен корректно.
Мы начинаем с включения необходимых опций в разделе «НСИ и администрирование» → «CRM и маркетинг»:
Перейдите в «CRM и маркетинг» → «Бонусные программы». Создайте или отредактируйте бонусную программу. Здесь мы определяем:
В разделе «CRM и маркетинг» → «Настройки и справочники» → «Виды карт лояльности» мы создаем виды карт, которые будут использоваться. Здесь мы можем привязать нашу бонусную программу и настроить правила выдачи карт.
В разделе «CRM и маркетинг» → «Настройки и справочники» → «Автоматические скидки в продажах» мы создаем и настраиваем все необходимые автоматические скидки, в том числе и 10% скидку для новых карт, как мы рассмотрели выше.
Мы также можем настроить автоматическое начисление бонусов (например, тех самых 500 стартовых бонусов) через механизм автоматических скидок, выбирая тип скидки «Бонус суммой» или «Бонус процентом».
Регламентные задания: Не забывайте про регламентное задание по списанию бонусов, если они имеют срок действия. Мы рекомендуем ежедневно запускать его для корректной работы системы.
Проанализировав пожелания пользователя и возможности 1С:Управление торговлей 11, мы можем сделать следующие выводы:
Начисление и списание бонусных баллов (с частичной автоматизацией) или, что предпочтительнее, настроить автоматическое начисление бонусов через вид карты лояльности и соответствующую бонусную программу.Таким образом, для полной реализации всех пожеланий, особенно сложных условий списания и взаимодействия скидок с оплатой бонусами, потребуется привлечение программиста для доработки конфигурации 1С:УТ 11. При этом часть базовых настроек, таких как начисление стартовых бонусов и применение фиксированных скидок, может быть выполнена стандартными средствами.
Мы всегда рекомендуем сначала максимально использовать типовой функционал, а затем, четко определив узкие места, приступать к разработке. Это позволит минимизировать затраты на внедрение и поддержку системы.