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
- это код поля названия товара
Запрос может выполняться продолжительное время, если условий много