...
...
Table of Contents | ||
---|---|---|
|
1. Удалить историю цен, начиная с какой-то даты
Code Block | ||
---|---|---|
| ||
delete from price_history where upd_date > '2021-03-19' |
где 2021-03-19
- дата в формате год-месяц-число
2. Очистить положение окон
...
если вдруг вы использовали какой-то большой монитор и на другом компьютере окна перестали быть видны (сохранились за пределами экрана)
Code Block | ||
---|---|---|
| ||
update users set user_options = null, all_cnct_qnet = null, all_cnct_prod = null, all_cnct_price = null, wwp_quad_connect = null, post_konk_view = null, suppl_view = null |
3. Установить код товара запросом
Code Block | ||
---|---|---|
| ||
update product set code = concat('ml', LPAD(id::text, 6, '0')) where code is null; update product set extsrch = left(concat(upper(code), extsrch), 255) where extsrch not like(concat('%', upper(code), '%')) |
где 'ml'
- префикс кода, тексту внутри ''
вы можете поменять на свой. Код формируется из префикса + QID товара, например ml000012
4. Коды полей в таблицах Продукция и Прайсы
Expand | ||
---|---|---|
| ||
id - уникальный идентификатор товара (qid) code - код товара article - модель товара title - название товара manuf - производитель (только для прайсов поставщиков, в таблице Продукция поставщик определяется по коду поставщика) garanty - гарантия price - основная цена товара price_curr_id - ИД валюты основной цены info - полное описание shortinfo - краткое описание is_exists - наличия (1 - в наличии, 2 - нет в наличии, 3 - под заказ, 4 - склад, …) exists_text - текст наличия url - ссылка fix_price - цены фиксированы (1) или нет (0) (только для таблицы Продукция) is_fixed_exists - наличия фиксированы (1) или нет (0) (только для таблицы Продукция) price_compare - код сравнения с конкурентами (0 - нет конкурентов, 1 - дешевле, 2 - равно, 3 - дороже конкурентов) (только для таблицы Продукция) min_margin - цена с минимальной наценкой для основной цены (только для таблицы Продукция) mi[КодПоляЦены] - цена с минимальной наценкой для дополнительных цен, например mif_qwerty (только для таблицы Продукция) input_price - оптовая цена выбранного поставщика для основной цены в основной валюте blue_flag - синий флажок в прайсах, может быть 0 или 1 red_flad - красный флажок в прайсах, может быть 0 или 1 set_price_date - дата последнего изменения цены (основной цены) price_from - название прайса выбранного поставщика для основной цены pd_id - ид выбранного товара из прайса поставщика price_id - ид прайса выбранного поставщика cat_1_id - ИД каталога BY (onliner) cat_2_id - ИД каталога RU (яндекс.маркет) |
5. Добавить товар в дополнительные группы из текстового поля
Code Block | ||
---|---|---|
| ||
insert into product_category_connect(prod_id, cat_id, is_main)
SELECT p.id, c.id, 0
FROM product p, unnest(string_to_array(p.f_43df536rp, ',')) cat_id_one, product_category c
WHERE c.code = cat_id_one
on conflict do nothing; |
6. Убрать из названий фото папки
Code Block | ||
---|---|---|
| ||
for i = 2 to sheets(1).usedrange.rows.count
new_img = ""
s_img = Trim(sheets(1).cells(i, 4).value)
if s_img <> "" then
arr_img = Split(s_img, "|")
for j = lbound(arr_img) to ubound(arr_img)
one_img = Split(arr_img(j), "\")
if new_img = "" then
new_img = one_img(1)
else
new_img = new_img & ", " & one_img(1)
end if
next j
sheets(1).cells(i, 4).value = new_img
end if
next i |
7. Создать аналоги товаров из поля
В поле с кодом f_43nssf1rp
должны быть указаны Коды товаров аналогов, через запятую, код товара аналог должен совпадать с Кодом товара из вкладки Продукция
Code Block | ||
---|---|---|
| ||
insert into product_analog(first_id, second_id)
select p.id, p2.id
from product p, unnest(string_to_array(p.f_43nssf1rp, ',')) as an(code),
product p2
where p.f_43nssf1rp <> '' and p2.code = an.code
and not exists (select 1 from product_analog pa2 where
(pa2.first_id = p.id and pa2.second_id = p2.id)
or (pa2.first_id = p2.id and pa2.second_id = p.id)) |
8. Создать сопутствующие товары из поля
В поле с кодом f_43nssebq9
должны быть указаны Коды сопутствующих товаров, через запятую, код сопутствующего товара должен совпадать с Кодом товара из вкладки Продукция
Code Block | ||
---|---|---|
| ||
insert into product_connect(prod_id, conn_prod_id)
select p.id, p2.id
from product p, unnest(string_to_array(p.f_43nssebq9, ',')) as an(code),
product p2
where p.f_43nssebq9 <> '' and p2.code = an.code
and not exists (select 1 from product_connect pa2 where
(pa2.prod_id = p.id and pa2.conn_prod_id = p2.id)) |
9. Указать в поле товара правило наценки
Если вы хотите видеть во вкладке Продукция у каждого товара правило наценки, по которому он расценен, создайте пользовательское поле с типом Число, если нужно видеть ИД правила, или Строка, если нужно видеть название правила. Код поля подставьте в запросы ниже (в 2х местах в запросе):
Установить ИД правила:
Code Block | ||
---|---|---|
| ||
update product set КодПоля = null;
update product set КодПоля =
(select case ph.rule_id when -1 then 0 else ph.rule_id end from price_history ph
where ph.prod_id = product.id and product.is_exists <> 2 and ph.field_id = 0
order by ph.id desc limit 1) |
ИД правила может установиться 0 в случае, когда товар не в статусе "Нет в наличии" и при этом на него нет правила наценки, т.е. например наличие установлено вручную и зафиксировано
Установить Название правила:
Code Block | ||
---|---|---|
| ||
update product set КодПоля = null;
update product set КодПоля =
(select spt.title from price_history ph,
set_price_type spt
where ph.prod_id = product.id and ph.rule_id = spt.id
and product.is_exists <> 2 and ph.field_id = 0
order by ph.id desc limit 1) |
10. Удалить у товаров все характеристики, которые не соответствуют типу товара
Данный запрос может понадобится когда вы часто переносите товары из одной группы в другую, при этом Тип товара у групп указан разный.
Code Block | ||
---|---|---|
| ||
delete from product_values where id in (
select pv2.id from product_values pv2, param_items pi,
param_item_values piv, product_category_connect pcc, product_category pg
where pv2.val_id = piv.id and piv.item_id = pi.id and
pcc.prod_id = pv2.quad_product_id and pcc.cat_id = pg.id and pcc.is_main = 1
and (pg.product_type_id <> pi.pi_product_type and pi.pi_product_type <> 1)
and pi.param_id = 777) |
вместо 777
указать ID набора характеристик, которые нужно удалить
11. Заполнить пользовательское поле минимальной РРЦ из прайсов поставщиков
Code Block |
---|
update product set f_41d1umnts = 0;
update product set f_41d1umnts =
(select min(round(price_to_base(pd.fixed_price, pd.fix_price_curr_id), 2))
from price_detail pd, price pr, price_detail_category pdc
where pd.product_id = product.id
and pd.price_id = pr.id
and pr.is_active = 1
and pr.use_rc = 1
and pd.category_id = pdc.id
and pdc.is_active = 1
and ((pd.is_active is null) or (pd.is_active = 0))
and pd.fixed_price > 0 and pd.is_exists <> 2) |
вместо f_41d1umnts
указать код вашего числового пользовательского поля, в который запишется минимальная РРЦ