Quad.Wiki

Установка значения в поле прайса

 

Если вам нужно заполнить какое-то поле в прайсе, это можно сделать при помощи запросов SQL.

Настройка

Запросы выполняются при помощи задания Quad.Magic “Выполнить запрос к БД” и вводятся в Настройка 1 задания.

Действие обычно добавляется после импорта обновленных прайсов. Если разных запросов у вас будет много, то лучше всего создать группу действий Quad.Magic “Запросы” и все запросы добавлять в нее, а в действие обновления добавить уже не сами запросы, а выполнение группы действий с запросами.

 

 

Шаблон запроса

 

update price_detail

set КодПоля = Значение

from price pr

where (pr.id = price_detail.price_id) and ( Условия )

 

КодПоля - здесь указывается код поля, которое нужно обновить, примеры кодов можно посмотреть здесь

Значение - указывается устанавливаемое значение. Если значение текстовое, то с двух сторон нужно добавить апострофы. Наример article = ‘Текст Артикула’.

В качестве значения можно указать null - в этом случае поле будет очищено:

update price_detail set КодПоля = null from …

Условия - указываются условия выбора товара, для которого будет устанавливаться значение

Примеры условий

(is_exists <> 2) - только для товаров которые не в статусе Нет в наличии

(pr.price_type in (1, 3)) - только прайсы с типом поставщик или поставщик и конкурент

(pr.price_type in (2, 3)) - только прайсы с типом конкурент или поставщик и конкурент

(pr.is_active = 1) - только включенные прайсы

если нужно добавить несколько условий, то они добавляются с and между условиями, если должны соблюдаться все, или or , если должно соблюдаться одно из условий.

Например (pr.price_type in (1, 3)) and (pr.is_active = 1) and (is_exists <> 2)

 

Примеры запросов

Запрос для установки красного флага в зависимости от названия

update price_detail set red_flag = 1 from price pr where (pr.id = price_detail.price_id) and (pr.price_type in (1, 3)) and (pr.is_active = 1) and ( price_detail.title like '%мятая%' or price_detail.title like '%порван%' or price_detail.title like '%царапин%' or price_detail.title like '%царапан%' )

запрос обновляет все активные прайсы с типом поставщик или поставщик и конкурент

у которых в названии содержатся одно или несколько из перечисленных значений. Значения перечисляются так:

price_detail.title like '%мятая%' or price_detail.title like '%порван%' or price_detail.title like '%царапин%'

сюда через or можно добавить еще значений в виде or price_detail.title like '%порван%' перед закрывающей скобкой

title - это код поля названия товара

Запрос может выполняться продолжительное время, если условий много