Страница 1 из 2

Логика сохранения сопоставлений

Добавлено: 08 апр 2015 20:15
Skyter
Хотелось бы понять некоторые принципы работы сопоставления.

По идее после сопоставления по артикулу, наименованию или как-то еще должна делаться запись вида ID товара СТУС = IDзаписи СТИПП. Если потом новый товар из прайслиста при загрузке найдется в с СТИПП, то сопоставление со СТУСом уже будет и заново этот процесс делать не надо.

Если мы включаем настройку удалять товары которых нет в наличии из СТИПП, то какой из вариантов правильный:
1. Товар удаляется из СТИПП, также удаляется настройка сопоставления
2. Товар скрывается в СТИППе, но остается его запись, включая поля сопоставления (например наименование), таким образом настройка сопоставления вроде бы жива, и как только товар появится снова он активируется в СТИППе и не нужно будет его сопоставлять со СТУСом.

Очень хотелось бы получить развернутый ответ, так как на больших объемах данных это может повлиять на производительность.
Например,
чтобы найти нужный товар в базе нужно тупо перебрать поля и найти настройку 1 к 1 в СТИППе, дальше сопоставление делать не надо, так как это уже было сделано.
Если же товар был удален, то придется перебрав всю базу в СТИППе, начать сопоставлять этот товар еще раз, и возможно, по регулярным выражениям.
На большой номенклатуре и куче поставщиков, сопоставление заново может отнять куда больше времени, чем поиск по старым сопоставлениям. Более того, возможны и сами ошибки сопоставления.

Также интересно как это происходит с ручным сопоставлением. То есть если мы руками привязали запись СТИПП к СТУСС, а потом система таки удалила из СТИПП, то как она потом связывает.

Заранее спасибо за развернутый ответ.

Re: Логика сохранения сопоставлений

Добавлено: 09 апр 2015 14:16
support
Если товар был ранее сопоставлен автоматически или вручную, то запись об этом сопоставлении хранится в БД и при условии, что товар пропал у поставщиков, а потом вновь появился, то такой товар будет сопоставлен, на основании ранее сопоставленных данных для этого товара.

Re: Логика сохранения сопоставлений

Добавлено: 09 апр 2015 15:40
Skyter
Это если он удален из СТИПП или нет?

То есть когда он в СТИПП, то там привязка может быть ID СТИПП - ID СТУС, либо же если логика не такая, то тогда нужно понимать, какие там поля при сопоставлении пишутся из каждой таблицы. Но как мне казалось, привязка это как раз связь 1 к 1.

Re: Логика сохранения сопоставлений

Добавлено: 10 апр 2015 11:25
support
Если товар был сопоставлен и его нет в стипп после очередного импорта, то связь все равно хранится, и если он появится вновь то будет сопоставлен.

Re: Логика сохранения сопоставлений

Добавлено: 14 апр 2015 11:50
tkachenkoser
Раз поднялся этот вопрос. Очень интересует, а как-то можно очистить связи товаров, которых уже нет? То за годы база ручных сопоставлений очень сильно "разбухает" ?

Re: Логика сохранения сопоставлений

Добавлено: 15 апр 2015 13:53
support
tkachenkoser писал(а):Раз поднялся этот вопрос. Очень интересует, а как-то можно очистить связи товаров, которых уже нет? То за годы база ручных сопоставлений очень сильно "разбухает" ?
Уточните, как это влияет на работу?

Re: Логика сохранения сопоставлений

Добавлено: 15 апр 2015 14:10
tkachenkoser
даже 5% ускорение работы с elbuz сохранит полно человеко-часов.

Re: Логика сохранения сопоставлений

Добавлено: 15 апр 2015 17:51
Skyter
Да, не понятно почему нельзя в деталях описать работу системы. Ошибки зачастую вылетают в странных местах. Процесс довольно долгий. Хочется лучше понимать все возможности для оптимизации.

Re: Логика сохранения сопоставлений

Добавлено: 16 апр 2015 12:59
support
Skyter писал(а):Да, не понятно почему нельзя в деталях описать работу системы. Ошибки зачастую вылетают в странных местах. Процесс довольно долгий. Хочется лучше понимать все возможности для оптимизации.
Вам описали работу системы, что на данный момент для Вас остается непонятным?

Re: Логика сохранения сопоставлений

Добавлено: 16 апр 2015 13:10
Skyter
Если мы удаляем товар из СТИПП, то за что в прайслисте поставщика цепляется сопоставление? Как система понимает, что именно этот товар уже был сопоставлен, что он например не новый?
Предположим старый прайс с новым синхронизируется по наименованию, очищенному от русских символов. Далее со СТУСом он привязывается руками или по регуляркам. Можно предположить что со стороны СТУС в этой привязке участвует ID, но тогда что со сторны СТИПП, если там нет записи?

Иными словами хочется понимать какие именно поля сопоставляются и 1 к 1 или как-то еще?