Как в 1С:УНФ запретить применение скидки на определенные товары?

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

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

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

Переход от ручных скидок к автоматическим

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

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

  1. Система сама проверяет состав корзины.
  2. Можно четко ограничить список товаров, на которые действует (или не действует) правило.
  3. Исключается человеческий фактор при расчете итоговой суммы.

Настройка исключений через вкладку «Уточнения и ограничения»

Разберем по шагам, как настроить автоматическую скидку так, чтобы она игнорировала определенную номенклатуру:

Перейдем в раздел Продажи — Цены и скидки — Автоматические скидки. Создадим новое правило (например, «Скидка 10% на все, кроме спецтоваров»).

На основной вкладке укажем процент скидки. Самое интересное находится на вкладке Уточнения и ограничения. Здесь у нас есть два пути:

  1. Метод исключения: Если товаров, на которые скидка НЕ действует, мало, мы можем добавить в список всю остальную номенклатуру. Однако это неудобно, если ассортимент большой.
  2. Использование ценовых групп: Это наиболее правильный метод. Мы заранее присваиваем товарам-исключениям определенную ценовую группу (например, «Без скидок»). В настройках автоматической скидки на вкладке «Уточнения и ограничения» мы выбираем только те ценовые группы, на которые скидка должна начисляться.

Таким образом, если товар входит в группу, которая не указана в правиле, автоматическая скидка на него просто не применится, даже если документ соответствует всем остальным условиям.

Использование механизма «Минимальных цен» для жесткого контроля

Выясним причину, по которой нам может потребоваться запрет скидки. Если цель — не допустить продажу ниже себестоимости или определенного порога, то лучшим решением будет настройка Минимальных цен продажи.

Рассмотрим, как это работает:

Теперь, какую бы скидку (ручную или автоматическую) ни пытался применить менеджер, система заблокирует проведение документа, если итоговая цена за единицу станет меньше установленного порога. Это самый надежный способ защиты маржинальности. Для настройки контроля минимальных цен с наценкой по отдельным пользователям можно использовать расширение для проверки минимальной цены в УНФ 3.0.

Настройка «Совместного применения» и правил вытеснения

Проанализируем ситуацию, когда у нас действует несколько маркетинговых акций одновременно. В УНФ существует дерево правил совместного применения скидок. Мы можем использовать логику «Вытеснения» для реализации запретов.

Представим сценарий:

  1. Создаем автоматическую скидку 0% (да, именно ноль процентов).
  2. В условиях применения этой скидки указываем список номенклатуры-исключений.
  3. Помещаем эту скидку в группу с правилом «Вытеснение» и ставим ей самый высокий приоритет.
  4. Ниже по приоритету располагаем нашу основную общую скидку.

В этом случае, когда система увидит в заказе товар из «черного списка», сработает правило с приоритетом 1 (скидка 0%). Поскольку установлено вытеснение, общая скидка на эту строку уже не применится.

Работа с сегментами номенклатуры (в новых версиях УНФ)

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

Вместо того чтобы вручную перечислять товары в правилах скидки, мы создаем Сегмент номенклатуры. Условием сегмента может быть, например, наличие определенного дополнительного реквизита или принадлежность к категории. В правиле автоматической скидки мы просто выбираем этот сегмент в качестве фильтра.

Ограничение прав на ручные скидки

Если ваша проблема связана именно с тем, что менеджеры вручную уменьшают цену на товары, на которые скидки давать нельзя, стоит рассмотреть ограничение прав доступа. В настройках Групп доступа для профиля «Продажи» можно ограничить максимальный процент ручной скидки.

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

Пример настройки логики через формулы (Advanced)

Для самых сложных случаев в УНФ предусмотрен конструктор формул в автоматических скидках. Посмотрим на логику, которую можно заложить в расчет:


// Условный пример логики в конструкторе (метакод)
Результат = ?(Номенклатура.ЦеноваяГруппа = "СпецЦена", 0, Сумма * 0.10);

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

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

← На главную