Проблема
Нужно расценить и выгрузить в прайс (например свой оптовый) товар поставщика, который еще не добавлен в основной прайс
Решение
- Добавить пользовательское поле, в которое будет записываться ваша цена
- Добавить правила наценки с помощью запросов в Quad.Magic
- Добавить в шаблон экспорта настроенные поля цены
Добавление поля
Добавьте новое поле во вкладке Конфигурация / внизу "Доп. поля", тип поля укажите Число.
Запомните код поля - в примере на скриншоте это 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)
Связанные статьи