Почему не рассчитывается скидка по дисконтной карте в РМК 1С:Розница и как это исправить?

Пользователь 1С v8.3 (Управляемые формы) 1С:Розница Управленческий учет Торговля и дистрибуция
← На главную

Каждый розничный продавец стремится повысить лояльность покупателей с помощью дисконтных карт, бонусов и сезонных распродаж. В программе 1С:Розница реализован мощный механизм скидок, однако его настройка часто вызывает вопросы даже у опытных пользователей. Распространенная ситуация: администратор завел маркетинговую акцию, привязал скидку к дисконтной карте, кассир в РМК (рабочем месте кассира) выбирает карту, ее номер отображается на экране, но итоговая сумма чека не уменьшается. Скидка остается равной нулю.

В этой статье мы подробно разберем, почему автоматический расчет скидок в РМК не всегда срабатывает сразу при считывании карты, как правильно настроить права пользователей для корректной работы дисконтной системы, а также рассмотрим продвинутые сценарии работы со скидками: создание карт по номеру телефона без привязки к физлицу и настройку накопительных программ лояльности.

Шаг 1. Проверяем базовую цепочку настроек скидки

Прежде чем переходить к тонкостям работы интерфейса РМК, давайте проанализируем базовую цепочку настроек. Если хотя бы одно звено в этой цепи настроено неверно, скидка не применится в принципе — ни при оплате, ни при принудительном расчете. Проверим следующие объекты в системе:

  1. Маркетинговая акция: Перейдем в раздел Маркетинг — Маркетинговые акции. Убедимся, что документ акции находится в статусе «Действует». Также проверим расписание: если акция настроена только на определенные дни недели или часы, а продажа происходит в другое время, скидка не сработает. Акция должна быть активна для того магазина, в котором оформляется продажа.
  2. Скидка (наценка): В карточке скидки проверяем ее статус (должен быть «Действует»), тип скидки (например, Процент — 15%) и область применения (В документе или В строке). Если вы хотите ограничить действие скидки определенной группой товаров, убедитесь, что сегмент номенклатуры заполнен корректно и нужные товары входят в этот сегмент.
  3. Условия предоставления: Внутри скидки должно быть создано условие с типом получателя «Вид дисконтных карт». В получателях указывается конкретный вид карты (например, «Обычные дисконтные карты 15%»).
  4. Дисконтная карта: В справочнике Дисконтные карты проверяем карточку конкретной карты. У нее должен быть задан штрихкод или магнитный код, а в поле Вид дисконтной карты должен быть выбран именно тот вид, для которого настроено условие скидки.

Шаг 2. Разбираемся с логикой работы РМК и авторасчетом скидок

Если все настройки выполнены верно, но при сканировании или ручном выборе карты в РМК скидка по-прежнему не выводится на экран, причина кроется в особенностях работы платформы 1С. По умолчанию в целях повышения производительности системы автоматический расчет скидок при каждом изменении состава чека отключен.

Давайте выясним, как ведет себя программа по умолчанию и как изменить это поведение:

Вариант А. Расчет скидки в момент оплаты (поведение по умолчанию)

В типовой конфигурации скидки рассчитываются только тогда, когда кассир завершает формирование чека и переходит к выбору платежного средства. Когда кассир нажимает кнопку «Наличные» (F6), «Платежная карта» (F7) или вызывает общее окно оплаты, программа производит финальный пересчет всех автоматических скидок. Именно в этот момент на экране отобразится итоговая сумма со скидкой 15%.

Вариант Б. Принудительный ручной расчет

Если кассиру или покупателю важно видеть скидку до перехода в режим оплаты, можно воспользоваться функцией ручного пересчета. Для этого в РМК предусмотрена специальная кнопка «Рассчитать скидки» (или горячие клавиши Alt + F9). После нажатия этой кнопки система мгновенно рассчитает все скидки по примененной карте и выведет их в окне чека.

Вариант В. Включение автоматического расчета при редактировании документа

Если вы хотите, чтобы скидка рассчитывалась мгновенно при считывании дисконтной карты (без нажатия дополнительных кнопок), необходимо изменить права пользователя. Разберем этот процесс по шагам:

  1. Перейдем в раздел Администрирование — Пользователи и права — Дополнительные права пользователей.
  2. Выберем пользователя или группу пользователей (кассиров), для которых настраиваем правила.
  3. В дереве настроек раскроем раздел Интерфейс РМК.
  4. Найдем и установим флаг напротив пункта «Авторасчет скидок при редактировании документа» (в некоторых релизах опция называется «Расчет скидок при каждом редактировании товаров в чеке»).
  5. Запишем и сохраним настройки.

Важное предупреждение: Включение этой опции заставляет программу обращаться к базе данных и пересчитывать сложные алгоритмы скидок при каждом изменении строки чека (добавлении товара, изменении количества, сканировании карты). Если на кассовом узле используется медленный компьютер или база данных работает в файловом режиме по сети, это может привести к заметным задержкам и "зависаниям" интерфейса РМК при оформлении продаж.

Шаг 3. Внешние факторы, блокирующие расчет скидок

Рассмотрим ситуации, когда дисконтная карта выбрана, права настроены, но скидка все равно не применяется. Проанализируем возможные скрытые причины:

  1. Ограничение минимальной цены продажи: В настройках магазина или учетной политики может быть задан Вид минимальных цен продажи. Если розничная цена товара за вычетом 15% скидки оказывается ниже установленной минимальной цены, программа заблокирует применение скидки частично или полностью, чтобы магазин не торговал себе в убыток. Обязательно проверьте, не установлены ли минимальные цены для проблемных позиций номенклатуры.
  2. Группы совместного применения скидок: Все скидки в системе распределяются по группам совместного применения. В настройках этих групп задаются правила:
    • Минимум — выбирается наименьшая скидка.
    • Максимум — выбирается наибольшая скидка.
    • Сложение — скидки суммируются.
    • Вытеснение — приоритетная скидка отменяет остальные.
    Если ваша дисконтная карта дает 15%, но в чеке уже действует другая автоматическая скидка (например, распродажа выходного дня 20%), и они находятся в группе с правилом Вытеснение, то применится только наибольшая скидка, а скидка по карте будет проигнорирована.
  3. Использование «Нового РМК»: В современных релизах «1С:Розница» (начиная с 2.3.11 и в версии 3.0) при переходе на новый интерфейс РМК логика работы со скидками оптимизирована. Если у вас включен новый интерфейс, скидки гарантированно рассчитываются в момент открытия формы оплаты, а на главном экране продаж для их актуализации рекомендуется использовать выделенную кнопку расчета скидок.

Шаг 4. Настройка дисконтной карты по номеру телефона без создания «Физического лица»

Современные покупатели неохотно заполняют бумажные анкеты и носят с собой пластиковые карты. Бизнес все чаще переходит на виртуальные карты, где идентификатором клиента служит номер его мобильного телефона. Рассмотрим, как реализовать такую схему в «1С:Розница».

Обезличенные карты (карты без владельца)

Чтобы не перегружать справочник Физические лица персональными данными клиентов, мы можем настроить систему так, чтобы карта существовала в базе только в виде уникального кода (номера телефона).

  1. Перейдем в настройки Вида дисконтных карт.
  2. Снимем флаг «Именная карта». Это позволит программе регистрировать новые карты без обязательного создания карточки контрагента или физлица.

Использование номера телефона в качестве штрихкода

Для того чтобы система распознавала вводимый номер телефона как дисконтную карту, настроим шаблон регистрации:

  1. Перейдем в раздел Администрирование — Маркетинг — Шаблоны регистрации новых дисконтных карт.
  2. Создадим новый шаблон и укажем тип карты — «Штриховая».
  3. Зададим длину кода равной 11 символов (стандартный формат мобильного телефона в РФ, например, 79001234567).
  4. Зададим разрешенный диапазон кодов (например, от 79000000000 до 79999999999).
  5. Теперь в РМК при вводе телефона клиента в поле поиска карты система автоматически определит, что вводится код из заданного диапазона, и предложит кассиру быстро зарегистрировать новую карту.

Для обеспечения безопасности и исключения случаев, когда покупатели называют чужие номера телефонов ради скидки, в современных версиях «1С:Розница 3.0» и «1С:РМК» интегрирован механизм SMS-верификации через встроенный «Сервер лояльности». При попытке применить или зарегистрировать карту на указанный телефон отправляется временный код подтверждения, который клиент должен назвать кассиру для подтверждения операции.

Шаг 5. Реализация накопительной системы скидок

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

Рассмотрим алгоритм настройки накопительной скидки по шагам:

  1. Создадим новое Условие предоставления скидок.
  2. В поле Условие предоставления выберем вариант «За накопленный объем продаж по дисконтной карте» (или по владельцу, если карты используются как именные).
  3. Зададим параметры накопления: укажем тип периода (например, Весь период) и ограничение по сумме (например, скидка начнет действовать при сумме покупок от 5000 рублей).
  4. Создадим несколько таких условий для разных порогов:
    • От 5 000 рублей — скидка 5%.
    • От 10 000 рублей — скидка 10%.
    • От 20 000 рублей — скидка 15%.
  5. Привяжем созданные условия к соответствующим скидкам-наценкам в рамках одной маркетинговой акции.

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

Проанализируем пример логики проверки накоплений в коде программы:


// Упрощенный пример алгоритма проверки порога накопительной скидки
Функция ПолучитьПроцентНакопительнойСкидки(ДисконтнаяКарта, СуммаТекущейПокупки) Экспорт
    СуммаПродаж = РегистрыНакопления.ПродажиПоДисконтнымКартам.Обороты(,, ДисконтнаяКарта);
    ОбщаяСумма = СуммаПродаж + СуммаТекущейПокупки;
    
    Если ОбщаяСумма >= 20000 Тогда
        Возврат 15; // 15% скидка
    ИначеЕсли ОбщаяСумма >= 10000 Тогда
        Возврат 10; // 10% скидка
    ИначеЕсли ОбщаяСумма >= 5000 Тогда
        Возврат 5;  // 5% скидка
    КонецЕсли;
    
    Возврат 0; // Скидка не положена
КонецФункции

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

← На главную