Как в 1С:ERP 2.5 настроить ежемесячную смену видов цен для контрагента?

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

В практике торговых компаний часто возникает задача установить для одного контрагента несколько разных цен, которые должны применяться в разные периоды одного и того же месяца. Например, с 1 по 7 число действует одна цена, с 8 по 14 — другая, и так далее, причем этот цикл должен повторяться каждый месяц. Важнейшим условием является строгий контроль, чтобы менеджер не мог продать товар по цене, неактуальной на текущую дату.

В 1С:ERP 2.5 нет единой настройки, которая бы решала эту задачу одной кнопкой. Однако, используя комбинацию стандартных инструментов, можно реализовать такую схему ценообразования. Рассмотрим несколько рабочих способов, от самых простых до более сложных.

Решение 1: Использование нескольких типовых соглашений

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

Разберем по шагам:

  1. Создайте четыре Типовых соглашения об условиях продаж для одного и того же контрагента.
  2. В каждом соглашении на вкладке "Условия продаж" укажите свой Вид цены. Например:
    • Соглашение 1 — Вид цены "Цена_Неделя1"
    • Соглашение 2 — Вид цены "Цена_Неделя2"
    • Соглашение 3 — Вид цены "Цена_Неделя3"
    • Соглашение 4 — Вид цены "Цена_Неделя4"
  3. Самый важный шаг — для каждого соглашения установите свой период действия. Например, для октября:
    • Соглашение 1: период действия с 01.10 по 07.10
    • Соглашение 2: период действия с 08.10 по 14.10
    • Соглашение 3: период действия с 15.10 по 25.10
    • Соглашение 4: период действия с 26.10 по 31.10

Преимущества этого подхода:

Недостатки:

Решение 2: Гибкая настройка через скидки (наценки) по расписанию

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

Разберем по шагам:

  1. Определите один базовый Вид цены для контрагента и укажите его в едином Типовом соглашении.
  2. Создайте четыре разные Скидки (наценки). Каждая скидка должна корректировать базовую цену до нужного значения в свой период. Это может быть как скидка (положительный процент), так и наценка (отрицательный процент скидки).
  3. Ключевой момент — для каждой скидки настройте расписание действия. В условиях предоставления скидки можно задать сложный график. Например:
    • Скидка для периода 1-7: Установить расписание "ежемесячно, с 1 по 7 число".
    • Скидка для периода 8-14: Установить расписание "ежемесячно, с 8 по 14 число".
    • И так далее для остальных периодов.
  4. Убедитесь, что для этих скидок правильно настроены правила совместного применения. Например, установите правило "Вытеснение", чтобы в один момент времени могла действовать только одна скидка из этой группы, избегая их некорректного суммирования.

Преимущества этого подхода:

Решение 3 (для продвинутых): Расчет цен по произвольному запросу

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

Проанализируем общую концепцию:

  1. Сначала необходимо создать несколько "служебных" видов цен. Назовем их, к примеру, Цена_Период_1, Цена_Период_2 и т.д. Для этих видов цен нужно установить конкретные ценовые значения с помощью документа Установка цен номенклатуры. Они будут служить источником данных.
  2. Далее создается основной, "клиентский" Вид цены, который и будет указываться в соглашении с контрагентом. В настройках этого вида цены в качестве способа задания нужно выбрать "Произвольный запрос к данным ИБ".
  3. Откроется редактор схемы компоновки данных (СКД). Здесь нужно написать запрос, который в зависимости от текущей даты будет возвращать значение из одного из "служебных" видов цен.

Логика запроса может быть примерно следующей (представлен псевдокод для понимания идеи):


ВЫБРАТЬ
    Номенклатура,
    ВЫБОР
        КОГДА ДЕНЬ(&Период) МЕЖДУ 1 И 7 ТОГДА ИсточникЦен.Цена_Период_1
        КОГДА ДЕНЬ(&Период) МЕЖДУ 8 И 14 ТОГДА ИсточникЦен.Цена_Период_2
        КОГДА ДЕНЬ(&Период) МЕЖДУ 15 И 25 ТОГДА ИсточникЦен.Цена_Период_3
        ИНАЧЕ ИсточникЦен.Цена_Период_4
    КОНЕЦ КАК Цена
ИЗ
    РегистраСведений.ЦеныНоменклатуры.СрезПоследних КАК ИсточникЦен

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

Преимущества этого подхода:

Недостатки:

Заключение

Таким образом, для решения задачи по циклической смене цен для контрагента в 1С:ERP 2.5 есть несколько рабочих вариантов. Выбор зависит от ваших требований к автоматизации и имеющихся компетенций:

← На главную