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

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

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

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

Как работает ограничение при применении скидок

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

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

Проанализируем ситуацию на примере:

  1. Розничная цена товара составляет 1500 рублей.
  2. В базе задана минимальная цена для этого товара — 1000 рублей.
  3. Кассир пытается применить ручную скидку в размере 50% (что математически снизило бы цену до 750 рублей).
  4. Программа перехватывает это действие и автоматически пересчитывает скидку до 33,33%.
  5. В итоге цена в чеке составит ровно 1000 рублей.

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

Почему контроль "пропускает" продажи ниже минимума?

Если скидки не позволяют опустить цену ниже лимита, выясним причину, по которой продажи все же происходят. Как правило, корень проблемы кроется в прямом ручном редактировании цены кассиром в интерфейсе РМК.

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

Продажа ниже минимума возможна, если выполнены следующие условия (или допущены ошибки в настройках):

  1. У пользователя (кассира) в дополнительных правах или настройках РМК включено разрешение на Редактирование цен в документе.
  2. Разрешена продажа по Свободной цене.
  3. Цены изначально задаются вручную при пробитии чека.
  4. В самом виде цен, который назначен минимальным, не установлена галочка Использовать для продажи.

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

Способы решения: нужны ли доработки?

Рассмотрим варианты решения проблемы в зависимости от бизнес-процессов вашего магазина. Решать, стоит ли "изобретать велосипед" и писать расширения, нужно исходя из задач:

Вариант 1: Настройка прав (Без доработок)
Если ваша цель — защититься от излишних скидок и случайных изменений цен, дорабатывать код не нужно. Настроим систему типовыми средствами:

  1. Зайдите в настройки дополнительных прав пользователей и настройки РМК.
  2. Строго запретите кассирам ручное редактирование цен в табличной части интерфейса кассира.
  3. Оставьте им только право на применение ручных скидок (если это предусмотрено регламентом).

При таких настройках кассиры физически не смогут ввести цену с клавиатуры, а скидки программа ограничит автоматически.

Вариант 2: Доработка конфигурации (Жесткий контроль)
Специфика некоторых магазинов требует, чтобы кассиры могли вводить цены вручную (например, при торговле мерным лоскутом, уцененным товаром, который оценивается на кассе, или при приеме trade-in). При этом бизнесу нужно жестко блокировать проведение чека, если введенная цена оказалась ниже себестоимости или минимально допустимой.

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

Особый случай: Государственный контроль МРЦ

Обратим внимание на важный нюанс, касающийся специфичных групп товаров. Если ваш магазин торгует маркируемой табачной продукцией (подлежащей контролю в системе "Честный ЗНАК") или крепким алкоголем (контроль ЕГАИС), писать собственные доработки для блокировки цен не нужно.

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

Гибкость настроек в новых редакциях (3.0 и УНФ)

Посмотрим на развитие механизмов ценообразования. В редакции 1С:Розница 3.0 (которая разработана на единой кодовой базе с 1С:УНФ) появилась возможность более гибко управлять политикой минимальных цен.

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

Подведем итог: Типовой контроль минимальных цен в 1С отлично справляется со скидками. Продажи "в минус" — это, как правило, результат избыточных прав кассира на ручное редактирование цен. Правильная настройка прав РМК решает 90% проблем, а для оставшихся 10% специфичных задач потребуется разработка небольшого расширения, блокирующего пробитие чека при наличии предупреждений.

← На главную