Quad.Wiki

Расценка товара поставщика, который еще не добавлен в свой прайс

Проблема

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

Решение


  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)


Если нужно чтобы правила наценки распространялись только на цены в какой-то определенной валюте:

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

В указанном примере правило распространяется только на 2 выбранных прайса на товары, цены которых в валюте Евро. ID валюты (3) можно посмотреть здесь:


Полученную цену можно перевести сразу в другую валюту:

update price_detail set F_3UCHO4T0H = (price + 55 * price/100) / ###USD### where price >= 15000 and price_curr_id = 4;

В указанном примере наценка распространяется на товары в Российских рублях, при этом результат переводится в доллары. Для этого формула берется в скобки и делится на курс, который указывается с помощью кода ###USD###

Если у вас основная валюта Российские рубли, цена в прайсе в Евро, а нужно перевести в доллары, то курсы у вас заданы по отношению к российскому рублю и просто умножить или поделить на курс доллара не получится - нужно будет сначала сконвертировать в российские рубли (умножить на курс евро, а потом разделить на курс доллара

update price_detail set F_3UCHO4T0H = (price + 55 * price/100) * ###EUR### / ###USD### where price >= 15000 and price_curr_id = 3;


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


Либо добавить выполнение этой группы в другую группу действий, которой у вас выполняется полное обновление.


Выгрузка прайса

Для выгрузки прайса добавьте шаблон экспорт (вкладка Конфигурация / внизу Экспорт) с необходимыми колонками, пример шаблона:


3-я колонка - в файл выгружается id поставщика

10-ая колонка - в файл выгружает текст наличия из прайса поставщика

Обратите внимание на птички Из привязанного - они должны стоять так же, как и на скриншоте.

Если нужно выгружать только товары, которые в наличии у поставщика, установите эту птичку:


После настройки шаблона экспорта добавьте действие Quad.Magic с типом Экспорт в один файл из нескольких прайсов

В настройке 1 укажите созданный ранее шаблон и путь к файлу, в который будет выгружаться прайс, установите так же птичку Все активные поставщики


В настройке 2 можно оставить пусто и в этом случае в файл будут выгружать все товары поставщиков. Чтобы выгружать только товар, которого еще нет в вашем собственном прайсе (вкладка Продукця), можно в настройке 2 указать следующий фильтр:

pd.product_id is null





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