13.02.2019 15:36 | |
sonic1978Пользователь iNETsHOP Количество сообщений 107 Зарегистрирован: 27-02-2016, 15:29:39 |
очищаюсь от устаревших товаров, которые перестали проходить по прайсам поставщиков. но вычислить их непросто. если не менялась ни цена ни наличие длительное время но товар все еще актуален - то отобрать по последнему редактированию товара не получится. выведенные из прайслистов смешаются с такими товарами. предложил бы сделать поле "присутствие в последнем прайслисте" в таблицах прайслистов поставщиков, и в схемах импорта по желанию включать либо выключать эту опцию. импорт будет дольше проходить, процедура такая, не на каждый день. |
22.02.2019 11:42 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Такие товары, в принципе, определить довольно просто как раз по дате последнего обновления товаров прайсов. Например, можно SQL-запросом определить когда у товара последний раз обновлялись цены у поставщиков, которые его предлагают. Можно даже таким же запросом установить, что период наличия товара, допустим, 7 дней с момента последнего обновления прайс-листа. |
24.02.2019 21:38 | |
sonic1978Пользователь iNETsHOP
Тема начата
Зарегистрирован: 27-02-2016, 15:29:39 |
когда товар обновлялся последний раз можно отсортировать и в программе, без применения отдельных запросов. но не всегда возможно так к сожалению. бывает в распродаже у поставщика товар и висит по полгода без изменения количества и цены. или товар под заказ и цены в евро. изменений по таким товарам тоже не будет. но тем не менее они актуальные. руками конечно можно тоже легко определить какие товары уже отсутствуют в прайсе, введя любой доп. идентификатор в прайс и после импорта убрав товары без него |
26.02.2019 22:45 | |
sonic1978Пользователь iNETsHOP
Тема начата
Зарегистрирован: 27-02-2016, 15:29:39 |
сорри, сам ступил) если товар был в прайсе ему в любом случае дата "редактирован" последним импортом прайса проставится. топик можно удалить.. |
30.03.2020 18:09 | |
sonic1978Пользователь iNETsHOP
Тема начата
Зарегистрирован: 27-02-2016, 15:29:39 |
Цитата Написал: support Например, можно SQL-запросом определить когда у товара последний раз обновлялись цены у поставщиков, которые его предлагают. хм... а без включенного логирования товаров это тоже можно сделать? стал пытаться сделать небольшие апдейты, только на измененные товары, но смотрю что SG_DATE_EDIT проставляется по последнему импорту прайс листа, на все товары в нем, независимо от того есть изменения в них или нет. |
01.04.2020 00:33 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
При включенном логировании поле SG_DATE_EDIT обновляется только на те товары, в которых были изменения, т.к. только в этом случае проверяются на совпадение старые поля записей и новые. При выключенном логировании дата изменения записи без проверки изменяется у всех товаров которые обновляются. Обратите внимание так же на поле SG_DATE_IMPORT, которое записывается дата/время обновления товара из прайс-листа. |
01.04.2020 20:24 | |
sonic1978Пользователь iNETsHOP
Тема начата
Зарегистрирован: 27-02-2016, 15:29:39 |
логирование включать не вариант, слишком сильно бд раздувается. товаров много, апдейты ежедневные. а можно список изменений взять скриптом после сравнения товаров? и в текстовую ячейку записать, например в ремарку? а перед импортом непустые ремарки обнулять. только не могу понять в каких ячейках значения лежат "было" "стало" или хотябы по результату сравнения "Ничего" "Обновление" и "Добавление" в ##TMP_PRICE_DATA похожая мне показалась только _WHAT_DO, пытался из нее значения вытаскивать после сравнения, но безуспешно( |