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 4 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