Часто в торговых компаниях возникает необходимость установить цены на товар (например, временные акционные закупочные цены от поставщика) только на строго определенный период, чтобы после его окончания цена автоматически возвращалась к базовому значению. Разберем подробнее, с какими ограничениями платформы 1С мы сталкиваемся в конфигурации 1С:Управление торговлей 10.3 и какие существуют способы надежного решения этой задачи.
Проанализируем ситуацию с технической точки зрения. Регистр сведений ЦеныНоменклатуры, который используется в УТ 10.3 для хранения прайсов, является периодическим. В архитектуре платформы 1С:Предприятие 8 такие регистры не имеют встроенного механизма даты окончания действия для отдельной записи.
Любая установленная цена начинает действовать с даты, указанной в реквизите Период, и применяется до тех пор, пока не будет введена новая запись с более поздней датой. Поэтому просто указать период действия скидки или наценки "с... по..." в одном стандартном документе установки цен технически невозможно без дополнительных доработок.
Один из путей автоматизации — доработка документа УстановкаЦенНоменклатуры. Рассмотрим этот вариант по шагам:
ДатаОкончания.ДатаОкончания.Важный нюанс: при реализации такого подхода необходимо везде, где двигается данный регистр, делать проверку на отсутствие движений будущей датой. Создание записей сразу на будущее несет серьезный архитектурный риск. Если в период действия акции потребуется внести штатные изменения в базовые цены (например, поставщик глобально изменил прайс-лист), то заранее созданный документ отмены перекроет эти новые цены при наступлении своей даты, и хронология ценообразования будет разрушена.
Чтобы избежать конфликта записей в будущих периодах, разберем более надежный архитектурный подход. Вместо записи будущих движений мы можем создать отложенную очередь на отмену цен.
ОчередьОтменыЦен или используется добавленный реквизит ДатаОкончания в исходном документе.РегламентныеЗадания, которое запускается каждую ночь (например, в 00:01).Этот подход полностью исключает перезапись "будущими" документами тех изменений, которые менеджеры могли легитимно внести в середине срока действия акции.
Посмотрим на пример решения задачи без сложного вмешательства в проведение документов. В справочнике ТипыЦенНоменклатуры можно завести специальный вид цены (например, "Закупочная (акция)").
Акционные цены фиксируются документом только на этот тип цены, не затрагивая ваш основной базовый закупочный прайс. Далее в алгоритм расчета наценок и в соответствующие управленческие отчеты вносится корректировка приоритетов:
По окончании акции достаточно просто снять с проведения акционный документ установки цен, и система автоматически продолжит считать наценку от базовой цены, которая всё это время безопасно хранилась в базе.
Выясним причину, почему полная автоматизация не всегда полезна: поставщик может в последний момент продлить акцию, или условия возврата цен могут измениться. В таком случае проблему забывчивости менеджеров (отпуск, больничный) можно решить через систему задач.
При проведении акционного документа с заполненной датой окончания система автоматически формирует отложенную задачу пользователю. В нужный день инициатору (или руководителю отдела) на рабочий стол в 1С приходит уведомление о необходимости пересмотреть цены и создать документ возврата к старым условиям. Это исключает потерю контроля над ситуацией и не ломает учет.
В конфигурации 1С:УТ 10.3 также предусмотрена возможность фиксации цен не глобально для всего товара, а в рамках конкретного договора с контрагентом. Если акция предоставляется поставщиком индивидуально, целесообразно использовать штатный механизм дополнительных соглашений. Временные цены регистрируются в строгой привязке к краткосрочному договору, по истечении которого закупки снова пойдут по условиям основного договора.
Мы проанализировали основные способы установки цен на ограниченный период времени. Выбор конкретного метода зависит от сложности вашей логики ценообразования. Если цены меняются не слишком динамично, отлично подойдет регламентное задание по автоматической отмене. Если же важно не ломать типовые механизмы и иметь прозрачный расчет дельты, оптимальным вариантом станет выделение акционных предложений в отдельный тип цен со своим приоритетом расчета.