Как настроить управляемые скидки с условиями в 1С:Розница и РМК и почему они не отображаются у кассира?

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

В процессе автоматизации розничной торговли перед компаниями часто встает задача реализации сложных, гибких программ лояльности. Одним из частых сценариев является предоставление скидки на определенные позиции при выполнении условий (например, легендарная акция «каждый 5-й товар в чеке со скидкой 10%»). При этом бизнес хочет, чтобы кассир самостоятельно решал, применять эту акцию в конкретном чеке или нет (управляемая скидка), но система при этом жестко контролировала выполнение условий акции (автоматическая проверка).

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

Понимание концепции: как работают управляемые скидки с условиями

Для начала проанализируем ключевое различие между автоматическими, ручными и управляемыми скидками в программных продуктах 1С (таких как «1С:Розница», «1С:Управление торговлей» и «1С:УНФ»).

Рассмотрим частую ошибку понимания этого механизма. Если мы создали управляемую скидку и привязали к ней условие «Количество товара в строке не менее 5», то кассир не сможет применить ее к строке, где указано 3 единицы товара. Система либо вообще скроет эту скидку из списка доступных управляемых скидок для этой строки, либо рассчитает её с нулевым результатом. Кассир выполняет роль «запускного механизма», а сама логика обработки остается автоматической.

Почему управляемые скидки не появляются в РМК: пошаговое решение

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

Шаг 1. Регистрация маркетинговой акции

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

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

Шаг 2. Настройка прав доступа и профилей пользователей

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

  1. Перейдем в раздел Администрирование -> Настройки пользователей и прав -> Профили групп доступа.
  2. Выберем профиль, назначенный кассирам (например, «Продавец-кассир»).
  3. Убедимся, что в списке разрешенных действий активна роль Право ручная скидка РМК или аналогичное разрешение на применение управляемых скидок. Без этого права система будет блокировать вызов окна скидок.

Шаг 3. Лимиты ручных и управляемых скидок в настройках РМК

В современных конфигурациях на платформе «1С:Предприятие 8.3» (например, «1С:Розница 3.0» и «1С:УНФ») новый движок РМК может на системном уровне приравнивать управляемые (назначаемые вручную) скидки к обычным ручным скидкам. Если в настройках программы установлен нулевой лимит ручных скидок, кассир получит ошибку: «Максимальная величина ручной скидки 0%, скидка не применяется».

Для исправления этой настройки выполним следующие шаги:

  1. Перейдем в раздел Настройки -> Поддержка оборудования -> Настройки РМК.
  2. Развернем подраздел Маркетинговые акции.
  3. Найдем поле Максимальный процент ручной скидки/наценки и установим значение, отличное от нуля (например, 100%, если жестких ограничений по акциям нет, либо ограничим максимальным процентом нашей планируемой скидки).
  4. Сохраним настройки и перезапустим сеанс кассира.

Реализация логики «Каждый 5-й товар» с помощью внешних условий

Проанализируем классическую задачу автора темы: скидка 10% должна предоставляться на каждый пятый товар в строке чека. В старых конфигурациях («1С:Розница 2.2 / 2.3») для реализации подобных сложных алгоритмов стандартного конструктора часто не хватало, поэтому разработчики использовали механизм внешних обработок условий.

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

..\Users\ИмяПользователя\AppData\Roaming\1C\1cv8\tmplts\1c\Retail\2_2_x_x\Discount УсловиеПредоставленияПоНомеруСтроки.epf

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


// Пример экспортной функции во внешней обработке условий скидок
Функция ПроверитьУсловие(ПараметрыРасчета) Экспорт
    
    Результат = Новый Структура("УсловиеВыполнено, КоличествоПрименений", Ложь, 0);
    
    // Получаем табличную часть товаров из параметров расчета чека
    ТабличнаяЧастьТовары = ПараметрыРасчета.Объект.Товары;
    ОбщееКоличество = 0;
    
    Для Каждого СтрокаТовара Из ТабличнаяЧастьТовары Цикл
        ОбщееКоличество = ОбщееКоличество + СтрокаТовара.Количество;
    КонецЦикла;
    
    // Проверяем условие на кратность пяти единицам товара
    Если ОбщееКоличество >= 5 Тогда
        Результат.УсловиеВыполнено = Истина;
        Результат.КоличествоПрименений = Цел(ОбщееКоличество / 5);
    КонецЕсли;
    
    Возврат Результат;
    
КонецФункции

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

Современное решение без программирования в «1С:Розница 3.0» и «1С:УНФ»

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

Рассмотрим, как быстро настроить акцию «Каждый 5-й товар со скидкой» через стандартный интерфейс:

  1. Перейдем в меню Продажи -> Скидки -> Скидки и наценки.
  2. Создадим новую скидку, выбрав тип Процент и указав величину 10%.
  3. В поле Способ предоставления укажем значение В строке, в которой выполнились условия.
  4. В табличной части Условия предоставления создадим новое условие со следующим типом: За разовый объем продаж.
  5. В открывшейся карточке условия укажем: контролировать Количество в одной строке, значение — не менее 5 шт.
  6. Для реализации кратности (чтобы скидка была именно на каждый 5-й, то есть на 5-й, 10-й, 15-й и т.д.) настроим параметр кратности применения в карточке скидки. В современных релизах этот шаблон выбирается в один клик.
  7. Установим переключатель порядка назначения в положение Назначается вручную.

Теперь при оформлении чека в новом РМК кассиру достаточно будет нажать кнопку «Скидки» и активировать созданную акцию — система сама проверит кратность позиций в строках и начислит скидку строго на нужное количество товаров.

Новый интерфейс управления скидками на рабочем месте кассира

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

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

Важные ограничения и нюансы совместного расчета

При внедрении управляемых скидок на предприятии важно учитывать системные ограничения платформы 1С, которые могут повлиять на бизнес-процессы оптовых и розничных продаж:

  1. Ограничения документов ввода на основании: Если в вашей компании менеджеры оформляют документ Заказ покупателя, а кассир в РМК формирует Чек ККМ или Расходную накладную на его основании, то ручной выбор управляемых скидок на кассе будет заблокирован. Вся работа по подбору акций, подарков и скидок должна проводиться на этапе согласования исходного заказа менеджером.
  2. Запрет в оптовых документах: Управляемые скидки не предназначены для работы в документе Счет на оплату.
  3. Совместное применение с бонусными баллами (Новое в Рознице 3.0.10): В актуальных релизах существенно доработан механизм совместного использования скидок и оплаты бонусами. Теперь в карточке управляемой скидки можно гибко настроить правила: разрешено ли одновременно списывать баллы лояльности и предоставлять скидку по данной акции, либо они должны взаимно вытеснять друг друга, защищая маржинальность продаж.

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

← На главную