Как настроить контроль установки розничных цен при изменении цен поставщика в 1С

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

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

Анализ проблемы и выбор стратегии контроля

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

  1. Жесткий контроль: запрет проведения документа поступления, если цены поставщика изменились, а документ Установка цен номенклатуры еще не создан.
  2. Мягкий контроль (автоматизация): автоматическое создание документов установки цен или уведомление ответственных лиц о необходимости переоценки.

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

Решение 1. Программный запрет проведения документа через расширение

Наиболее надежный технический способ — использование расширения конфигурации. Мы добавим Подписку на событие или переопределим процедуру ОбработкаПроведения для документа ПриобретениеТоваровУслуг (или ПоступлениеТоваровУслуг). Это позволит не снимать основную конфигурацию с поддержки.

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

Пример логики проверки в коде (схематично):


Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    Если РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
        // 1. Получаем текущие закупочные цены из документа
        // 2. Сравниваем их с последними зарегистрированными ценами поставщика
        // 3. Проверяем наличие актуального документа "Установка цен номенклатуры" на дату документа
        Если ЦеныИзменились И НеНайденаУстановкаЦен() Тогда
            ТекстСообщения = "Обнаружено изменение закупочных цен! Проведение запрещено до создания установки розничных цен.";
            ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , , , Отказ);
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

Решение 2. Автоматическое создание документа «Установка цен номенклатуры»

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

  1. Синхронно при проведении: документ Установка цен номенклатуры создается программно в той же транзакции. Однако здесь кроется нюанс «мертвой петли»: в некоторых конфигурациях установка цен требует ссылки на уже проведенный документ поступления.
  2. Асинхронно через регламентное задание: специальная фоновая задача раз в 20–30 минут анализирует новые поступления и автоматически формирует черновики документов установки цен.

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

Решение 3. Интерактивное окно контроля цен

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

В этом окне можно добавить кнопку «Перейти к переоценке», которая откроет предзаполненную установку цен.

Решение 4. Контроль на этапе продажи (в РМК)

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

Технологические нюансы использования расширений

Для реализации данных механизмов рекомендуем использовать расширения конфигурации (.cfe). Это современный стандарт разработки в 1С. Основные преимущества:

Использование встроенных механизмов (без программирования)

Прежде чем приступать к коду, проверим типовые возможности вашей программы (УТ 11, Розница 2.3/3.0):

Заключение

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

← На главную