Разберем частую задачу розничной торговли: в магазине осталось фиксированное количество товара (например, ровно 3 или 4 единицы), и руководство принимает решение распродать именно эти остатки с существенной скидкой, после чего цена автоматически должна вернуться к базовой. При этом временное изменение цен через документ Установка цен номенклатуры не подходит, так как скидку требуется ограничить не временным интервалом, а физическим числом проданных позиций.
Проанализируем архитектуру подсистемы маркетинговых акций в конфигурации 1С:Розница 2.2, выясним, с какими сложностями сопряжена данная задача, и рассмотрим практические способы ее решения.
Архитектурные и законодательные ограничения типового функционала
Прежде чем приступать к настройке, проанализируем внутренние механизмы 1С и законодательные требования, которые важно учитывать при автоматизации скидок на остатки:
Отсутствие глобального счетчика срабатываний скидки. В типовой подсистеме автоматических скидок условие предоставления рассчитывается в контексте текущего документа (в момент оформления чека в РМК) либо по накоплениям на дисконтной карте покупателя. Механизма квотирования, позволяющего задать условие вида «предоставлять скидку только на первые N штук по всей базе», в типовом функционале условий скидок нет.
Специфика динамических сегментов. Если попытаться создать сегмент номенклатуры с отбором по остаткам (например, остаток меньше либо равен заданному значению), скидка не отключится мгновенно при продаже акционных позиций. Формирование динамических сегментов выполняется регламентным заданием по расписанию, а оперативные остатки в процессе пробития чеков обновляются только после закрытия смены или проведения документов. До момента следующего пересчета система продолжит предоставлять скидку на новые партии.
Ограничения распределенных информационных баз (РИБ). В магазинах с несколькими автономными кассовыми узлами контроль остатка в реальном времени невозможен без непрерывного онлайн-соединения. Из-за асинхронного обмена данными между узлами кассы возникнет ситуация конкурентного списания, когда акционный товар пробьют на двух кассах одновременно сверх лимита.
Требования к алкогольной продукции и маркировке. Если распродаются остатки алкоголя, действуют жесткие ограничения: во-первых, нельзя опускать итоговую стоимость ниже МРЦ (минимальной розничной цены), иначе система заблокирует проведение чека. Во-вторых, категорически запрещено списывать товар под видом «уценки» с заведением фиктивной номенклатуры с новым штрихкодом: акцизные марки жестко привязаны к конкретному коду номенклатуры и справкам ЕГАИС.
Решение 1. Использование механизма серийных одноразовых купонов (штатный способ)
Рассмотрим наиболее надежный и безопасный штатный метод, не требующий доработки конфигурации и не нарушающий учет маркированного товара и алкоголя. Этот способ основан на применении скидки по одноразовым промокодам (купонам).
Разберем реализацию по шагам:
Перейдем в раздел Маркетинг и откроем справочник Скидки (наценки, ограничения).
Создадим новую автоматическую скидку с типом действия (процент или фиксированная сумма уценки) и назначим ее на требуемый товар или сегмент.
В табличной части условий предоставления добавим условие с типом По купону.
В карточке условия купонной серии создадим серию купонов и укажем признак однократного использования.
Сгенерируем в системе ровно столько уникальных штрихкодов купонов, сколько единиц товара требуется распродать по акции (например, ровно 3 штуки).
Распечатаем полученные штрихкоды и наклеим их непосредственно на акционные бутылки рядом с заводским штрихкодом либо передадим кассиру.
В момент продажи кассир сканирует штрихкод товара, а затем штрихкод купона. После применения купон помечается как погашенный. Как только будут проданы все акционные единицы, купоны закончатся, и следующая бутылка автоматически пробьется по полной базовой стоимости без ручного вмешательства в цены.
Решение 2. Продажа через перемаркировку и комплект (для обычной продукции)
Если распродаваемый товар не является маркированным или алкогольным, можно применить организационно-методический способ с разделением товарных позиций:
Создадим новую позицию номенклатуры с наименованием вида «Товар (распродажа/уценка)».
Назначим на данную позицию сниженную цену документом Установка цен номенклатуры.
Сгенерируем для нее отдельный внутренний штрихкод, распечатаем самоклеящиеся этикетки и наклеим их поверх оригинальных штрихкодов на акционные упаковки.
Переведем нужное количество товара со старой карточки на новую документом Пересортица товаров или связкой документов Списание товаров и Оприходование товаров.
При таком подходе кассир считывает акционный штрихкод, товар списывается по сниженной цене, а после завершения физического запаса акционных упаковок на полке останется только товар с оригинальными штрихкодами и стандартной ценой.
Решение 3. Доработка условий скидки с контролем лимита (для программистов)
Если требуется полностью автоматизировать процесс без купонов и переклейки штрихкодов, проанализируем программную доработку через создание внешнего условия скидки.
Для исключения ошибок параллельных продаж и махинаций с отложенными чеками архитектура доработки должна строиться следующим образом:
Создается непериодический регистр сведений для хранения лимитов и текущих счетчиков продаж в разрезе акций и номенклатурных позиций.
Реализуется дополнительная внешняя обработка с условием предоставления скидки, подключаемая в справочник Дополнительные отчеты и обработки.
В коде проверки условия выполняется запрос к регистру сведений. При расчете скидки обязательно используется управляемая транзакционная блокировка, чтобы предотвратить превышение лимита при одновременной продаже с нескольких рабочих мест:
Увеличение счетчика проданного количества фиксируется непосредственно при проведении документа Чек ККМ, что гарантирует точный учет квоты и автоматическое прекращение действия скидки при достижении заданного лимита.