Программа iNETsHOP - обработка, сравнение, анализ прайс листов поставщиков, создание каталога товаров интернет магазина Форум - Программа iNETsHOP - Пожелания - присутствие товара в последнем имортированном прайсе поставщика


http://inetshop.in.ua/index.php?p=showtopic&toid=499&area=1
13.02.2019 15:36

sonic1978


Пользователь iNETsHOP

Количество сообщений   107
Зарегистрирован:   27-02-2016, 15:29:39
очищаюсь от устаревших товаров, которые перестали проходить по прайсам поставщиков. но вычислить их непросто. если не менялась ни цена ни наличие длительное время но товар все еще актуален - то отобрать по последнему редактированию товара не получится. выведенные из прайслистов смешаются с такими товарами.

предложил бы сделать поле "присутствие в последнем прайслисте" в таблицах прайслистов поставщиков, и в схемах импорта по желанию включать либо выключать эту опцию. импорт будет дольше проходить, процедура такая, не на каждый день.

22.02.2019 11:42

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Такие товары, в принципе, определить довольно просто как раз по дате последнего обновления товаров прайсов. Например, можно SQL-запросом определить когда у товара последний раз обновлялись цены у поставщиков, которые его предлагают. Можно даже таким же запросом установить, что период наличия товара, допустим, 7 дней с момента последнего обновления прайс-листа.

24.02.2019 21:38

sonic1978


Пользователь iNETsHOP

Тема начата

Количество сообщений   107
Зарегистрирован:   27-02-2016, 15:29:39
когда товар обновлялся последний раз можно отсортировать и в программе, без применения отдельных запросов. но не всегда возможно так к сожалению. бывает в распродаже у поставщика товар и висит по полгода без изменения количества и цены. или товар под заказ и цены в евро. изменений по таким товарам тоже не будет. но тем не менее они актуальные.

руками конечно можно тоже легко определить какие товары уже отсутствуют в прайсе, введя любой доп. идентификатор в прайс и после импорта убрав товары без него

26.02.2019 22:45

sonic1978


Пользователь iNETsHOP

Тема начата

Количество сообщений   107
Зарегистрирован:   27-02-2016, 15:29:39
сорри, сам ступил) если товар был в прайсе ему в любом случае дата "редактирован" последним импортом прайса проставится. топик можно удалить..

30.03.2020 18:09

sonic1978


Пользователь iNETsHOP

Тема начата

Количество сообщений   107
Зарегистрирован:   27-02-2016, 15:29:39
Цитата
Написал: support
Например, можно SQL-запросом определить когда у товара последний раз обновлялись цены у поставщиков, которые его предлагают.


хм... а без включенного логирования товаров это тоже можно сделать? стал пытаться сделать небольшие апдейты, только на измененные товары, но смотрю что SG_DATE_EDIT проставляется по последнему импорту прайс листа, на все товары в нем, независимо от того есть изменения в них или нет.

01.04.2020 00:33

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
При включенном логировании поле SG_DATE_EDIT обновляется только на те товары, в которых были изменения, т.к. только в этом случае проверяются на совпадение старые поля записей и новые. При выключенном логировании дата изменения записи без проверки изменяется у всех товаров которые обновляются.

Обратите внимание так же на поле SG_DATE_IMPORT, которое записывается дата/время обновления товара из прайс-листа.

01.04.2020 20:24

sonic1978


Пользователь iNETsHOP

Тема начата

Количество сообщений   107
Зарегистрирован:   27-02-2016, 15:29:39
логирование включать не вариант, слишком сильно бд раздувается. товаров много, апдейты ежедневные.

а можно список изменений взять скриптом после сравнения товаров? и в текстовую ячейку записать, например в ремарку? а перед импортом непустые ремарки обнулять.

только не могу понять в каких ячейках значения лежат "было" "стало" или хотябы по результату сравнения "Ничего" "Обновление" и "Добавление"
в ##TMP_PRICE_DATA похожая мне показалась только _WHAT_DO, пытался из нее значения вытаскивать после сравнения, но безуспешно(