В практике торговых компаний часто возникает задача установить для одного контрагента несколько разных цен, которые должны применяться в разные периоды одного и того же месяца. Например, с 1 по 7 число действует одна цена, с 8 по 14 — другая, и так далее, причем этот цикл должен повторяться каждый месяц. Важнейшим условием является строгий контроль, чтобы менеджер не мог продать товар по цене, неактуальной на текущую дату.
В 1С:ERP 2.5 нет единой настройки, которая бы решала эту задачу одной кнопкой. Однако, используя комбинацию стандартных инструментов, можно реализовать такую схему ценообразования. Рассмотрим несколько рабочих способов, от самых простых до более сложных.
Этот метод является одним из самых надежных с точки зрения контроля и простым в первоначальной настройке. Суть его заключается в создании отдельного соглашения для каждого ценового периода.
Разберем по шагам:
Типовых соглашения об условиях продаж для одного и того же контрагента.Вид цены. Например:
Преимущества этого подхода:
Реализация товаров и услуг) 10-го числа система просто не даст выбрать соглашения, действующие в другие даты. В списке выбора будет доступно только одно, актуальное на текущий день, соглашение. Это полностью исключает ошибку менеджера.Недостатки:
Соглашения с клиентами. Частично эту задачу можно автоматизировать с помощью регламентных заданий, которые будут изменять статус или период действия соглашений, но это уже требует доработки.Это, пожалуй, самый элегантный и автоматизированный способ, который не требует ручного вмешательства каждый месяц. Идея состоит в том, чтобы использовать один базовый вид цены, а итоговую цену для каждого периода формировать с помощью скидок или наценок, которые включаются и выключаются по заданному расписанию.
Разберем по шагам:
Вид цены для контрагента и укажите его в едином Типовом соглашении.Скидки (наценки). Каждая скидка должна корректировать базовую цену до нужного значения в свой период. Это может быть как скидка (положительный процент), так и наценка (отрицательный процент скидки).Преимущества этого подхода:
Этот способ предназначен для сложных, нестандартных сценариев и требует технических навыков, в частности, умения работать со схемой компоновки данных (СКД). Он позволяет создать "вычисляемый" вид цены, значение которого определяется на основе любой логики, заложенной в запрос.
Проанализируем общую концепцию:
Цена_Период_1, Цена_Период_2 и т.д. Для этих видов цен нужно установить конкретные ценовые значения с помощью документа Установка цен номенклатуры. Они будут служить источником данных.Вид цены, который и будет указываться в соглашении с контрагентом. В настройках этого вида цены в качестве способа задания нужно выбрать "Произвольный запрос к данным ИБ".Логика запроса может быть примерно следующей (представлен псевдокод для понимания идеи):
ВЫБРАТЬ
Номенклатура,
ВЫБОР
КОГДА ДЕНЬ(&Период) МЕЖДУ 1 И 7 ТОГДА ИсточникЦен.Цена_Период_1
КОГДА ДЕНЬ(&Период) МЕЖДУ 8 И 14 ТОГДА ИсточникЦен.Цена_Период_2
КОГДА ДЕНЬ(&Период) МЕЖДУ 15 И 25 ТОГДА ИсточникЦен.Цена_Период_3
ИНАЧЕ ИсточникЦен.Цена_Период_4
КОНЕЦ КАК Цена
ИЗ
РегистраСведений.ЦеныНоменклатуры.СрезПоследних КАК ИсточникЦен
Далее этот вычисляемый вид цены можно использовать. Для оптимизации производительности можно настроить регламентное задание, которое будет по расписанию (например, ежедневно) запускать обработку расчета цен для этого "клиентского" вида цены, фактически "материализуя" вычисленные значения в регистре.
Преимущества этого подхода:
Недостатки:
Таким образом, для решения задачи по циклической смене цен для контрагента в 1С:ERP 2.5 есть несколько рабочих вариантов. Выбор зависит от ваших требований к автоматизации и имеющихся компетенций: