Как настроить скидку на второй и последующие товары в 1С:Управление торговлей 11.5

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

В розничной и оптовой торговле часто используются маркетинговые акции вида «Скидка 5% на второй товар» или «15% на третий товар». Несмотря на кажущуюся простоту, реализация такой логики в 1С:Управление торговлей 11.5 требует понимания внутренних механизмов программы. Рассмотрим подробнее, почему стандартное условие «за количество» может работать не так, как ожидается, и разберем способы решения этой задачи.

Проблема распределения скидки в 1С

Когда мы пытаемся настроить скидку штатным средством через условие «Количество в документе не менее 2», система по умолчанию применяет указанный процент ко всему объему номенклатуры. Проанализируем ситуацию: если мы укажем скидку 5% при количестве 2, программа применит 5% и к первой, и ко второй единице товара. Это происходит потому, что в 1С заложен принцип пропорционального распределения скидки.

Данный механизм необходим для корректного учета:

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

Вариант 1: Математический пересчет скидки (Эквивалент)

Самый простой и эффективный способ реализации акции «5% на второй товар» без программирования — это распределение общей суммы экономии на все товары, участвующие в акции. Рассмотрим по шагам, как это работает.

Допустим, у нас есть два одинаковых товара по 1000 рублей.

Если же стоит задача сделать «15% на третий товар», произведем аналогичный расчет:

  1. Суммируем все скидки: 0% (первый) + 5% (второй) + 15% (третий) = 20%.
  2. Делим на общее количество товаров: 20% / 3 = 6,66%.
  3. Настраиваем в системе автоматическую скидку 6,66%, которая срабатывает при условии «Количество в строке (или документе) равно 3».

Вариант 2: Использование механизма «Скидка за комплект»

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

Перейдем в раздел CRM и маркетинг — Цены и скидки — Скидки (наценки). Создадим новую скидку с типом «Скидка (наценка) процентом». В условиях предоставления выберем «За комплект». В настройках комплекта мы можем указать дополнительные условия и:

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

Вариант 3: Автоматическое разбиение строк (для РМК)

Проанализируем ситуацию, упомянутую в обсуждении: если товар один и тот же, он часто схлопывается в одну строку с количеством «2».

После разбиения строк появляется возможность использовать техническое поле НомерСтроки, но это нестабильный путь, так как при пересчете документа порядок строк может измениться. 1С не гарантирует сохранение «первенства» строки при автоматическом расчете автоматических скидок.

Вариант 4: Внешние алгоритмы расчета

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

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


// Пример логики поиска минимальной цены в табличной части
МинимальнаяЦена = 0;
СтрокаДляСкидки = Неопределено;

Для Каждого СтрокаТовара Из Объект.Товары Цикл
    Если СтрокаТовара.Цена < МинимальнаяЦена Или МинимальнаяЦена = 0 Тогда
        МинимальнаяЦена = СтрокаТовара.Цена;
        СтрокаДляСкидки = СтрокаТовара;
    КонецЕсли;
КонецЦикла;

Если СтрокаДляСкидки <> Неопределено Тогда
    СтрокаДляСкидки.ПроцентАвтоматическойСкидки = 5;
КонецЕсли;

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

Настройка групп совместного применения

При настройке нескольких скидок (на второй товар 5%, на третий 15%) крайне важно правильно настроить Группы совместного применения. Рассмотрим основные варианты:

  1. Сложение: если условия по второй и третьей скидке независимы, и вы хотите, чтобы они суммировались.
  2. Вытеснение: если должна сработать только одна, самая выгодная скидка.
  3. Максимум/Минимум: выбор одного из результатов расчета.

Для нашей задачи рекомендуется использовать группу «Сложение», чтобы при покупке трех товаров сработала и скидка на «пару», и дополнительная скидка на «трио», предварительно рассчитанные математическим методом распределения.

Резюме

Для настройки скидки на второй товар в 1С:УТ 11.5 мы рекомендуем:

← На главную