Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Данный механизм применяется для каких-то не стандартных задач, функционал для реализации которых отсутствует в программе.

...

В поле сохраняется информация в виде:

Пост1 ц:120.5 ост:*** | Пост2 ц:81 ост:5

т.е. название поставщика, цена после слова “ц:” , остаток после слова “ост:”, если поставщиков несколько то они разделены вертикальной чертой.

...

В поле устанавливаются ИД товаров из прайсов поставщиков, через запятую

Code Block
languagesql
update product set f_3v8q42ftv = null;
update product set f_3v8q42ftv = 
(select string_agg(pd.id::varchar, ',') 
from price_detail pd, price pr where
pr.id = pd.price_id 
and pd.is_exists <> 2 
and pr.is_active = 1
and pr.price_type in (1, 3) 
and pd.product_id = product.id 
and pd.price_id <> product.price_id
)

...

pd.id - поле которое берется из прайсов, в данном случае ИД товара, но можно например объединять и другие поля, например Код, в этом случае заменить pd.id на pd.code

если заменить на pr.title то в поле запишется через запятую названия привязанных поставщиков, pr.id - ИД прайсов, pr.label1 - внешний код прайсов, pr.deliv_get_days - сроки доставки поставщиков

and pd.is_exists <> 2 - условие, что добавляется только товар который не в статусе “Нет в наличии”, если нужно все товары, то эту строку можно удалить из запроса

...