Проблема
Нужно расценить и выгрузить в прайс (например свой оптовый) товар поставщика, который еще не добавлен в основной прайс
Решение
- Добавить пользовательское поле, в которое будет записываться ваша цена
- Добавить правила наценки с помощью запросов в 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)
После того как добавили правила наценки, вы можете выполнять эту группу действий вручную, через пункт меню Quad.Magic
Либо добавить выполнение этой группы в другую группу действий, которой у вас выполняется полное обновление.
Выгрузка прайса
Для выгрузки прайса добавьте шаблон экспорт (вкладка Конфигурация / внизу Экспорт) с необходимыми колонками, пример шаблона:
3-я колонка - в файл выгружается id поставщика
10-ая колонка - в файл выгружает текст наличия из прайса поставщика
Обратите внимание на птички Из привязанного - они должны стоять так же, как и на скриншоте.
Если нужно выгружать только товары, которые в наличии у поставщика, установите эту птичку:
После настройки шаблона экспорта добавьте действие Quad.Magic с типом Экспорт в один файл из нескольких прайсов
В настройке 1 укажите созданный ранее шаблон и путь к файлу, в который будет выгружаться прайс, установите так же птичку Все активные поставщики
В настройке 2 можно оставить пусто и в этом случае в файл будут выгружать все товары поставщиков. Чтобы выгружать только товар, которого еще нет в вашем собственном прайсе (вкладка Продукця), можно в настройке 2 указать следующий фильтр:
pd.product_id is null
Связанные статьи