Quad.Wiki

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Проблема

Нужно расценить и выгрузить в прайс (например свой оптовый) товар поставщика, который еще не добавлен в основной прайс

Решение


  1. Добавить пользовательское поле, в которое будет записываться ваша цена
  2. Добавить правила наценки с помощью запросов в Quad.Magic
  3. Добавить в шаблон экспорта настроенные поля цены


Добавление поля

Добавьте новое поле во вкладке Конфигурация / внизу "Доп. поля", тип поля укажите Число.

Запомните код поля - в примере на скриншоте это F_3UCHO4T0H

Добавьте разрешение на просмотр нового поля для пользователей, после этого перегрузите программу.


Добавление наценки

Откройте редактор Quad.Magic


Добавьте новую группу действий, назовите ее, например, Наценка


Добавьте первое действие, которое будет очищать цену, перед установкой, тип действия - Выполнить запрос к БД. В Настройка 1 (настройки редактируются нажатием кнопок 1, 2, 3, 4, 5 над таблицей) добавьте следующий текст:

update price_detail set F_3UCHO4T0H = null

в котором F_3UCHO4T0H  - это код поля, который вы сохранили при добавлении пользовательского поля


Добавьте второе действие, которое будет устанавливать цены, тип действия Выполнить запрос к БД, в настройка 1 можно указать, например, следующее:

update price_detail set F_3UCHO4T0H = price + 150 where price > 0 and price <= 300;
update price_detail set F_3UCHO4T0H = price + price where price > 300 and price <= 1000;
update price_detail set F_3UCHO4T0H = price + 75 * price/100 where price > 1000 and price <= 3000;
update price_detail set F_3UCHO4T0H = price + 70 * price/100 where price > 3000 and price <= 5000;
update price_detail set F_3UCHO4T0H = price + 65 * price/100 where price > 5000 and price <= 15000;
update price_detail set F_3UCHO4T0H = price + 55 * price/100 where price > 15000 and price <= 30000;
update price_detail set F_3UCHO4T0H = price + 40 * price/100 where price > 30000

Каждая строка - это отдельное правило наценки, которое устанавливается в зависимости от исходной цены в прайсе поставщика. В конце строки должен быть символ точка с запятой, кроме последней строки.

update price_detail set F_3UCHO4T0H = - эта часть одинаковая во всех строках, в ней нужно поменять код поля на ваш.

where price > 0 and price <= 300 - условие, по которому будет работать правило наценки, в данном случае оно будет работать для цены большей 0 и меньше или равно 300. Условия цены устанавливаются в валюте прайса поставщика. Если у вас есть прайсы в разной валюте, то на те прайсы, валюта которых встречается реже, нужно делать отдельные правила наценки. where price > 30000 - последним правилом устанавливается наценка на все товары, которые дороже 30000

Правила формирования цены:

price + 150 - такой формулой устанавливается фиксированная надбавка в 150 (рублей или долларов или в другой валюте прайса)

price + 75 * price/100 - такой формулой устанавливается наценка в процентах, в данном примере это 75%

price + 2.5 * price/100 - такой формулой устанавливается наценка 2,5% - обратите внимание, что дробная часть в формуле должна отделяться точкой, а не запятой

price + 55 * price/100 + 10 - формула прибавляет к исходной цене 55%, а затем еще 10

Вместо прибавления можно умножать цены:

1.75 * price - формула эквивалентна прибавлению 75%

1.75 * (price + 200) - прибавляем к цене сразу 200 , а потом к сумме 75%


Если у вас прайсы в разных валютах, или просто нужно сделать другую наценку на какой-то прайс или несколько, нужно добавить новое действие Quad.Magic (можно все правила делать и в одном, но отдельным действием разную наценку делать удобнее, так как можно отключить это действие, если понадобится позже выключить это правило, чтобы товары расценивались по общему правилу)

update price_detail set F_3UCHO4T0H = price + 11 * price/100 where price < 15000 and price_id in (120, 135);
update price_detail set F_3UCHO4T0H = price + 55 * price/100 where price >= 15000 and price_id in (120, 135);

В указанном примере выполняется 2 правила, до 15000 и дороже или равно 15000. В конце добавилось условия выбора прайсов and price_id in (120, 135) , которое означает, что данное правило будет распространяться только на 2 прайса, у которых ID = 120 и ID = 135. ID прайса можно посмотреть в карточке прайса. Если нужно условие только на 1 прайс, то оно будет выглядеть так:  and price_id in (120)



Связанные статьи



  • No labels