1
userdoc/prices_control – MultiMag
wiki:userdoc/prices_control

Управление ценами

Статья описывает управление ценами для версий Multimag начиная с 0.2r645.

Термины

Отпускная цена
Цена, вычисляемая на основе базовой цены, используемая в документах и на витрине.
Базовая цена
Цена наименования без торговых наценок. Вручную или автоматически задаваемая цена, от которой рассчитываются отпускные цены.
Актуальная цена поступления (АЦП)
Цена, отражающая стоимость единицы товара на складе, с учётом его реализаций и поступлений по разным ценам.

Установка цен

Установка цен делится на 2 этапа:

  • Установка отпускных цен
  • Установка базовой цены

Установка отпускных цен

Сначала необходимо создать список отпускных цен. Это можно сделать на странице "Управление ценами" раздела "Служебные функции" (путь /doc_service.php?mode=cost относительно корня сайта). Для правильной работы системы, в редакторе необходимо создать ровно одну цену вида "по умолчанию" и ровно одну цену вида "интернет-цена". Количество цен других типов - произвольное, начиная с версии 0.2r645. У каждой цены допустимо установить любое количество флагов вида, если это не противоречит написанному выше.

Виды цен

  • По умолчанию используется при создании новых документов, а так же отображается в прайс-листах и на витрине у незарегистрированных посетителей сайта. Должна быть ровно одна.
  • Интернет-цена используется для отображения у зарегистрированных пользователей сайта на витрине. Должна быть ровно одна.
  • Розничная цена используется в случаях, когда количество товара в заказе меньше, чем параметр "количество оптом" для данного товара. Если цен такого вида нет, функция не используется. Параметр "количество оптом" устанавливается в редакторе наименования.
  • Оптовая автоматическая цена используется для автоматической выдачи скидок постоянным клиентам, либо при крупных заказах.

Кроме вида, при добавлении цены, необходимо задать её наименование, тип, значение, точность, и способ округления.

  • Наименование цены используется для того, чтобы отличать цены друг от друга. Например "розничная", "оптовая", "для vip клиентов", и.т.п. Допускаются алфавитно-цифровые символы, пробел, и некоторые знаки. Максимальная длина - 32 символа. Отображается только сотрудникам (это поведение может быть изменено в следующих версиях).
  • Тип определяет метод расчёта данной отпускной цены
    • Если тип процент, то цена устанавливается больше или меньше базовой на указанное в поле "значение" количество процентов. Используется для наценок, заданных в процентах.
    • Если тип абсолютная наценка, то цена устанавливается как базовая + число из поля "значение". Используется для наценки на фиксированную стоимость.
    • Если тип фиксированная цена, то цена будет равна величине, заданной в поле "значение". Используется, если необходима цена, не зависящая от базовой.
  • Значение - число с фиксированной точкой, интерпретация которого зависит от значения поля "тип"
  • Точность определяет как необходимо округлять цену. Изменяется от копеек до тысяч рублей.
  • Направление определяет направление округления цены. Можно выбрать "без округления", "вверх", "вниз".
  • Порог разового заказа - свойство имеет смысл только для цен вида *оптовая автоматическая*. Определяет нижний порог включения этой цены для заказа через интернет-магазин, и для документов с типом цены *авто*. Сумма заказа расчитывается, исходя из цены *по умолчанию*.
  • Накопительный порог - свойство имеет смысл только для цен вида *оптовая автоматическая*. Определяет порог включения этой цены, если сумма финансовых поступлений за период, указанный в конфигурационном файле, от выбранного клиента превышает этот порог.
  • Приоритет - свойство имеет смысл только для цен вида *оптовая автоматическая*. Определяет очерёдность выборки *оптовых автоматических* цен. Чем значение меньше, тем приоритет выше. При выборке по приоритету применяется первая подходящая цена. Как правило, более высокий приоритет устанавливается для цен с большими порогами.

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

Принцип автоматического расчёта цен

Для интернет-заказов, и документов с типом цены *авто* используется следующий алгоритм расчёта цены:

  • Рассчитывается сумма заказа (A), используя цену *по умолчанию*
  • Запрашивается сумма финансовых поступлений от клиента (B) за заданный период
  • Для каждого наименования в заказе:
    • Если заказываемое количество наименования меньше, чем *количество оптом* этого наименования - используется розничная цена
    • Выбираются оптовые автоматические цены по их приоритету
      • Если *Порог разового заказа* выбранной цены меньше или равен A, или *Накопительный порог* выбранной цены меньше или равен B - используется выбранная цена.
    • Если заказ поступил из инертен-магазина - используется интернет-цена.
    • Во всех остальных случаях используется цена по умолчанию

Установка базовой цены

Базовая цена может задаваться как автоматически, так и вручную. Автоматическое изменение базовой цены имеет приоритет, и если включено, то базовая цена будет изменяться при соответствующих событиях, даже если была до этого изменена вручную. Ручное изменение базовой цены осуществляется через редактор наименования. При ручном изменениии базовой цены сохраняется дата её последней правки. Дата используется для подсветки актуальности цен.

Автоматическое изменение базовой цены возможно по двум событиям:

  • Проведение поступления соответствующего товара. В зависимости от настройки конфигурации doc/update_in_cost, при проведении документа базовая цена может устанавливаться равной текущей цене документа, АЦП, или не меняться.
  • Обработка прайс-листа. Если настроен параметр конфигурации price/dir, обработка осуществляется через равные промежутки времени. Обработка изменяет только цены товаров, которых нет в наличии. Устанавливает базовую цену, равной цене, которую вернул анализатор прайс-листов. Подробнее о его работе на странице Анализатор прайсов?
Last modified 16 months ago Last modified on Aug 22, 2016, 5:38:27 PM