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