Программа iNETsHOP - обработка, сравнение, анализ прайс листов поставщиков, создание каталога товаров интернет магазина Форум - Программа iNETsHOP - Ошибки - ошибка при сохранении одного из прайсов, ранее не встречалась


http://inetshop.in.ua/index.php?p=showtopic&toid=339&area=1
18.08.2016 14:48

sonic1978


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

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



Прикрепленные файлы
Снимок экрана (6).png   ( 7 Просмотров | 20.6 KB )

18.08.2016 16:00

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
В таблице товаров поставщиков TBL_SUPPLIERS_GOODS уникальный индекс IX_TBL_SUPPLIERS_GOODS#S_ID_NAME состоит из трех полей SG_S_ID (ID поставщика), SG_NAME (Наименование), SG_SID (Код поставщика, т.е. уникальный ключ товара по которому он идентифицируется при импорте, если таковой не указан - используется наименование).

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

Если вы каким-то образом модифицируете импортированные данные дополнительными SQL-запросами, то должны следить за уникальностью данных, т.к. уникальные ключи и индексы не дадут в данном случае записать повторяющиеся данные.

18.08.2016 16:04

sonic1978


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

Тема начата

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

18.08.2016 16:07

sonic1978


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

Тема начата

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

18.08.2016 16:08

support


Support


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

18.08.2016 16:26

sonic1978


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

Тема начата

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

UPDATE ##TMP_PRICE_DATA
SET SG_ARTIKUL = ARTIKUL
FROM (SELECT G_SID as ARTIKUL, SG_ID as GOOD_ID FROM TBL_GOODS g, TBL_SUPPLIERS_GOODS sg WHERE sg.SG_G_ID = g.G_ID) t
WHERE SG_ID = GOOD_ID
AND IMPORT_ID = :IMPORT_ID;

UPDATE ##TMP_PRICE_DATA
SET _ARTIKUL = 1
WHERE ISNULL(SG_ARTIKUL, '') <> ''
AND IMPORT_ID = :IMPORT_ID;


удалил после сравнения товары которые отобрались на добавление - сохранение прошло успешно.
ну и эта ошибка только в одном прайсе, из 30

18.08.2016 19:32

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Данный дополнительный sql-скрипт не влияет на изменение данных которые могут вызвать такую ошибку. Что еще вы меняли в схеме импорта? Вы меняли формирование названий товаров, кода поставщика?

29.08.2016 12:33

sonic1978


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

Тема начата

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

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