Многие пользователи программы 1С:Розница 2.2, особенно при использовании отраслевых решений вроде «Магазин одежды и обуви», сталкиваются с ситуацией, когда скидки по дисконтным картам не рассчитываются автоматически при подборе товара в чеке. Кассиру приходится либо нажимать кнопку Рассчитать скидки (или комбинацию клавиш Alt + F9), либо дожидаться момента перехода к оплате. Это создает неудобства: клиент хочет видеть итоговую сумму сразу, а аннулирование чека после расчета скидок усложняет рабочий процесс.
Разберем подробно, почему это происходит и как заставить программу рассчитывать дисконт «на лету» сразу после считывания карты или добавления позиции в чек.
Проанализируем работу рабочего места кассира (РМК). В большинстве случаев проблема кроется не в самих скидках, а в настройках интерфейса, который управляет их поведением. По умолчанию в целях повышения производительности программы (чтобы база не «подтормаживала» при каждом изменении состава чека) автоматический пересчет может быть отключен.
Для исправления ситуации выполним следующие шаги:
После внесения этих изменений в профиль НастройкиРМК, система начнет инициировать процедуру расчета при каждом событии изменения строк чека или считывания данных дисконтной карты.
Если настройки РМК в порядке, но расчет всё равно не происходит, нам следует рассмотреть структуру самой маркетинговой акции. Рассмотрим подробнее, какие поля документа МаркетинговаяАкция критически важны:
Статус документа: Часто пользователи проводят документ, но забывают проверить поле «Статус» в шапке. Он должен быть установлен в значение «В действии» (или «Проведено» в зависимости от версии релиза). Если акция находится в статусе «Планируется», расчет по ней производиться не будет.
Период действия: Проверим даты начала и окончания. Особое внимание уделим расписанию. Если в акции настроено действие «По дням недели», убедимся, что текущее системное время сервера и локального компьютера кассира попадает в установленный интервал. Даже разница в несколько минут может стать причиной того, что скидка «не подхватится» в начале рабочего дня.
Область действия: Выясним, указан ли в табличной части конкретный магазин. Если список магазинов пуст, скидка может не работать в конкретной торговой точке, так как программа не понимает, к какому узлу распределенной информационной базы (РИБ) относится данное правило.
Одной из причин блокировки скидок является механизм защиты прибыли — минимальные цены. Рассмотрим ситуацию, когда на товар установлена розничная цена, и она совпадает или близка к минимально допустимой.
Выясним причину через настройки магазина:
Как отметили пользователи в обсуждении, очистка этого поля часто решает проблему, но это не всегда безопасно для бизнеса. Лучше проверить документ УстановкаЦенНоменклатуры для типа цен, назначенного минимальным. Если там по ошибке установлены высокие значения, скидка 5% просто «не пролезает» через фильтр ограничений.
В конфигурации «1С:Розница Магазин одежды и обуви» активно используются СегментыНоменклатуры. Если ваша скидка настроена не на весь ассортимент, а на конкретный сегмент (например, «Обувь прошлых сезонов»), важно помнить о механизме обновления сегментов.
Проанализируем ситуацию: вы добавили товар в сегмент, настроили акцию, но скидка не считается. Почему?
Скорее всего, сегмент имеет способ формирования «Периодически обновлять». Пока не отработает регламентное задание или пока пользователь вручную не нажмет кнопку «Сформировать» в карточке сегмента, состав товаров в нем останется прежним. Программа «не видит» новый товар в списке имеющих право на скидку.
Рассмотрим логику взаимодействия нескольких скидок. В 1С:Розница существует понятие «Группы совместного применения». Если ваша скидка по карте входит в группу с правилом «Вытеснение», и в системе есть другая активная скидка (пусть даже с нулевым результатом, но с более высоким приоритетом), расчет по дисконтной карте будет проигнорирован.
Рекомендуем придерживаться следующей структуры в справочнике СкидкиНаценкиОграничения:
В решениях для магазинов одежды часто присутствуют дополнительные расширения, которые могут конфликтовать с типовым функционалом. Выясним, нет ли специфических ограничений:
Во-первых, проверьте Вид дисконтной карты. В поле «Тип карты» должно быть указано, является ли она «Обычной дисконтной» или «Бонусной». В некоторых релизах бонусная логика блокирует автоматический расчет процентной скидки, ожидая, пока кассир вручную выберет режим: «Списать бонусы» или «Применить скидку».
Во-вторых, обратите внимание на кэширование данных. При открытии смены РМК кэширует параметры действующих скидок. Если вы изменили настройки маркетинговой акции «на ходу», кассиру может потребоваться перезапустить интерфейс РМК или даже полностью перезайти в программу, чтобы обновленные правила загрузились в оперативную память.
Посмотрим на логику, которая должна быть заложена в условие предоставления:
// Логика проверки условий в программном коде 1С (упрощенно)
Если Скидка.Условие = Справочники.УсловияПредоставленияСкидокНаценок.ПоПредъявлениюКарты Тогда
Если Чек.ДисконтнаяКарта.Пустая() Тогда
Возврат Ложь; // Скидка не применяется без карты
КонецЕсли;
КонецЕсли;
Убедитесь, что в пользовательском интерфейсе для вашей скидки выбрано именно это условие, и оно привязано к правильному Виду дисконтных карт. Если вы создали новую группу карт, но не обновили условие в маркетинговой акции, программа логично не будет применять дисконт.
Подводя итог, можно составить краткий чек-лист для исправления проблемы:
Соблюдение этих шагов обеспечит корректную и автоматическую работу системы лояльности, позволяя кассиру моментально информировать покупателя об итоговой стоимости покупки с учетом всех привилегий.