Как в 1С:Розница 2.3 настроить скидки по картам в зависимости от наценки на товар?

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

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

Метод 1. Использование ценовых групп и сегментов номенклатуры

Этот метод является наиболее простым и рекомендуемым для использования в штатном функционале программы. Его суть заключается в разделении товаров на группы в зависимости от их прибыльности.

Рассмотрим пошагово, как реализовать этот алгоритм:

  1. Создание ценовых групп. Перейдем в справочник Ценовые группы и создадим несколько элементов, например: «Низкая наценка», «Средняя наценка», «Высокая наценка».
  2. Привязка товаров. В карточке каждой номенклатуры (или массово через групповую обработку) укажем соответствующую ценовую группу. Это позволит программе «понимать», какой товар относится к той или иной категории доходности.
  3. Создание сегментов. Для удобства работы со скидками создадим Сегменты номенклатуры. В настройках сегмента выберем способ формирования «Формировать динамически» или «Периодически обновлять». В отборе укажем фильтр по полю Ценовая группа.
  4. Настройка скидки. Перейдем в раздел Маркетинг — Скидки (наценки). Создадим новую скидку. На вкладке «Условия предоставления» добавим два условия:
    • Условие по дисконтной карте (например, «Владелец карты лояльности»).
    • Условие по номенклатуре (выбираем наш созданный сегмент «Высокая наценка»).

Таким образом, мы можем создать несколько правил: для сегмента с высокой наценкой назначить скидку 10%, а для сегмента с низкой наценкой — 2% или вовсе исключить его из действия скидок.

Метод 2. Ограничение через механизм «Максимальная скидка»

Если вы не хотите создавать сложную систему сегментов, можно воспользоваться встроенным защитным механизмом Видов цен. Это позволит ограничить любые скидки (в том числе ручные и по картам) на уровне конкретного товара.

Проанализируем, как это работает:

В справочнике Виды цен откройте карточку розничной цены. Там есть возможность установить Процент максимальной скидки. Если вы знаете, что на определенную категорию товара наценка не превышает 15%, установите максимальную скидку 10%. В этом случае, даже если у покупателя «Золотая карта» со скидкой 20%, система автоматически уменьшит ее до установленного максимума (10%) в документе «Чек ККМ».

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

Метод 3. Динамический расчет наценки через СКД в сегментах

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

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

((ЦенаРозничная - ЦенаЗакупочная) / ЦенаЗакупочная) * 100 > 20

В этом случае товары будут попадать в сегмент автоматически, как только их расчетная наценка превысит 20%. Это избавляет от необходимости вручную менять ценовые группы у каждой позиции при изменении цен поставщика.

Метод 4. Использование формул в ценообразовании

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


?(ЗакупочнаяЦена < 100, ЗакупочнаяЦена * 1.5, 
  ?(ЗакупочнаяЦена < 1000, ЗакупочнаяЦена * 1.3, ЗакупочнаяЦена * 1.15))

Хотя напрямую в условиях скидки такие длинные формулы использовать сложно, они помогают правильно распределить товары по Ценовым группам на этапе установки цен, что в дальнейшем связывает их с логикой скидок, описанной в Методе 1.

Метод 5. Внешние дополнительные условия (для программистов)

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

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


Если Объект.Цена < Объект.ЦенаЗакупочная * 1.05 Тогда
    // Запрещаем скидку, если цена в чеке ниже закупочной + 5%
    Возврат Ложь; 
КонецЕсли;

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

← На главную