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
только новые: да
каждое значение с новой строки.
Возможные настройки:
валюта - код валюты, в которую будет пересчитана цена товар, при копировании. Если нужно оставлять в той валюте, как есть, то эту настройку не нужно добавлять. В эту валюту переводится как цена товара, таки и рекомендованная цена товара. Код валюты можно посмотреть во вкладке Конфигурация:
курс на дату - значение да или нет, настройка используется в случае необходимости перевода цены товара в другую валюту. Если “да”, то при переводе будет использован курс, который был у валюты при последнем наличии товара в прайсе поставщика. Если “нет” или настройка отсутствует - курс берется на сегодняшнюю дату.
наличие - ИД типа наличия, в который будет переведен товар при копировании. Если настройка не указана, то наличие останется таким же, как в прайсе откуда копировалось. ИД типа наличия можно посмотреть во вкладке Конфигурация:
только новые - если данная настройка имеет значение “да”, то товар будет обновляться только если у товара, откуда копировалось, поменялась дата цены, т.е. он, например, опять стал в наличии или у него изменилась цена. Если значение “нет” или отсутствует - информация будет копироваться каждый раз, когда выполняется эта функция.