/
Копировать товар из одного прайса в другой

Quad.Wiki

Копировать товар из одного прайса в другой

Данный функционал можно использовать при необходимости копировать товары одного прайса или нескольких прайсов в другой прайс (или в несколько прайсов). Например, если нужно получить несколько прайсов конкурентов из одного прайса, или получить прайс с товаром, которого нет в наличии, но при этом нужно чтобы такой товар расценивался по старым ценам и был в наличии. Так же это действие можно использовать для копирования цен, ррц, остатков и других полей из одного прайса в другой.

 

1. Создайте новый прайс, если такого еще нет в вашей базе, куда нужно будет копировать товары. Тип прайса выбирайте в зависимости от того, что вы собираетесь делать с товаром этого прайса. Если по нем нужна расценка, то тип прайса - Поставщик.

2. Если товары, которые вы собираетесь копировать в этот прайс, в статусе Нет в наличии, при этом они должны использоваться для расценки товара, то лучше создать для таких товаров какое-то специальный статус наличия, например “Временно отсутствует”, и при копировании товара заменять ему наличие на этот созданный тип.

Как создавать дополнительные типы наличие указано здесь: Настройка прайса: наличие товара

 

3. Создайте поле с типом Число, это поле будет использоваться для связки товара создаваемого прайса с товарами из других прайсов, которые скопированы в этот прайс. Назвать поле можно “ID товара”. Как создавать поля указано здесь: Добавление пользовательского поля

После добавления поля перезапустите программу.

 

4. Добавьте действие Quad.Magic “Копировать товары из одного прайса в другой”. Действие должно быть перед обновлением цен, если этот прайс нужно использовать при расценке товара.

В Настройка 1 действия нужно выбрать прайс или несколько прайсов ИЗ которых будут копироваться товары. Если ничего не указать, то будут скопированы товары из всех прайсов с типом “Поставщик”.

В Настройка 2 выбирается прайс, куда копируются товары.

 

В Настройка 3 выберите поле, которое добавили в п.3 данной инструкции

 

В Настройка 4 можно указать SQL-запрос, который отбирает товары для формируемого вами прайса

Например:

pd1.is_exists = 2 - только товары которых нет в наличии

pd1.product_id is not null - только связанные товары

 

можно так же заполнить какое-то поле во вкладке Продукция значением “1” (создать пользовательское поле), фильтр по этому полю будет выглядеть так:

p.f_xxxxxxx = 1, где f_xxxxxxx - код поля

 

фильтр, отбирающий товары, у которых есть цена и при этом их нет в наличии:

(pd1.is_exists = 2 and ((pd1.fixed_price > 0) or (pd1.price > 0)))

 

В Настройка 5 вводятся дополнительные настройки копирования в виде

валюта: USD курс на дату: да наличие: 11 только новые: да

каждое значение с новой строки.

 

Возможные настройки:

валюта - код валюты, в которую будет пересчитана цена товар, при копировании. Если нужно оставлять в той валюте, как есть, то эту настройку не нужно добавлять. В эту валюту переводится как цена товара, таки и рекомендованная цена товара. Код валюты можно посмотреть во вкладке Конфигурация:

 

курс на дату - значение да или нет, настройка используется в случае необходимости перевода цены товара в другую валюту. Если “да”, то при переводе будет использован курс, который был у валюты при последнем наличии товара в прайсе поставщика. Если “нет” или настройка отсутствует - курс берется на сегодняшнюю дату.

наличие - ИД типа наличия, в который будет переведен товар при копировании. Если настройка не указана, то наличие останется таким же, как в прайсе откуда копировалось. ИД типа наличия можно посмотреть во вкладке Конфигурация:

только новые - если данная настройка имеет значение “да”, то товар будет обновляться только если у товара, откуда копировалось, поменялась дата цены, т.е. он, например, опять стал в наличии или у него изменилась цена. Если значение “нет” или отсутствует - информация будет копироваться каждый раз, когда выполняется эта функция.

При ручном изменении цены в прайсе дата цены не меняется и эта ручная цена не будет скопирована

 

не добавлять - если стоит “да”, то товары из одного прайса в другой не будут добавляться, будет только копироваться информация, указанная в настройке “поля”. Для этого так же нужно будет указать настройку “связь” и можно не указывать (и не создавать) поле для Настройка 3.

 

связь - здесь указывается соответствие между прайсом, откуда копируется и прайсом, куда копируется. Пример, если копируется по названию:

pd1.title = price_detail.title

после pd1. указывается поле прайса, откуда копируется

после price_detail. указывается поле прайса, куда копируется

Коды полей можно посмотреть здесь Полезные SQL-запросы в п.4

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

указать можно коды полей или специальные коды, с помощью которых копируется сразу несколько полей:

цены - копируется цена товара и цены 2-5, валюта цены

ррц - копируется Рекомендованная цена и ее валюта

наличие - копируются все поля, относящиеся к наличию

 

Пример настройки 2:

валюта: BYN курс на дату: да только новые: нет не добавлять: да поля: цены, ррц, article, f_42dcfar5e, наличие связь: pd1.title = price_detail.title

Related content