В базе данных битрикс путаются записи по XML_ID

Ответить
isbaturin
Сообщения: 113
Зарегистрирован: 09 мар 2020 08:06

09 июл 2020 18:36

Выгружаю товары в битрикс, загруженные из прайсов.
Случайно обнаруживаю в товарах ряд элементов в начале списка по ID, которые судя по контексту из инфолока ID=16 (FAQ Б24 - База знаний).
В таблице b_iblock_element появились записи в инфоблоке 1 (товары) с XML_ID, совпадающими с ID товара в БК (см скриншоты).
В админке битрикса это "внешний код".

Странные "товары" вернул на место прописав в базе старый IBLOCK_ID. После экспорта второй раз они снова вернулись в товары... :cry:

Как так могло получиться? Jumper проверяет наличие товаров с XML_ID в базе и считает, что это они и есть?
Если так, то можно ли ID товара jumper сделать с большей вероятностью уникальным, добавив какой-нибудь префикс?

Хорошо заметил. И хорошо, что в jumper уже ID большой. А если позже в другом инфоблоке снова появятся записи с большими ID, опять такое совпадение случится... Обнаружить на большом каталоге товаров его сложно будет.
Вложения
Screenshot_8.png
Screenshot_8.png (15.99 КБ) 3270 просмотров
Screenshot_9.png
Screenshot_9.png (69.15 КБ) 3270 просмотров
isbaturin
Сообщения: 113
Зарегистрирован: 09 мар 2020 08:06

09 июл 2020 19:01

По XML_ID совпадение у 4 якобы "товаров" из 13. Остальных нет в БК.
Последний раз редактировалось isbaturin 09 июл 2020 19:11, всего редактировалось 1 раз.
isbaturin
Сообщения: 113
Зарегистрирован: 09 мар 2020 08:06

09 июл 2020 19:03

Сами товары с ID БК = XML_ID битрикса выгрузились нормально, у них внешний код вида 11b7e7cb-c158-11ea-82f5-96000051aee9.
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

11 июл 2020 10:55

При обновлении сайта битрикс идёт проверка по полю XML_ID и ID товара (строка UUID) (из Jumper).
Для новых товаров в поле "ID товара (строка UUID)" формируется уникальный символьно-числовой идентификатор.
С уважением, поддержка ElbuzGroup.
isbaturin
Сообщения: 113
Зарегистрирован: 09 мар 2020 08:06

13 июл 2020 05:34

В моем случае XML_ID совпадает с записями в другом инфоблоке. При проверке XML_ID нет контроля ID инфоблока?
Что делать то непонятно пока. Записи портятся. Хорошо, что из ненужного особо инфоблока. А так можно порушить и что-то важное.

Или Вы считаете, что проблемы никакой тут не видно?
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

13 июл 2020 16:49

У товаров в базе Jumper нет информации об инфоблоке битрикса, есть только ID из поля XML_ID по которому идёт синхронизация категорий, товаров, атрибутов.
С уважением, поддержка ElbuzGroup.
isbaturin
Сообщения: 113
Зарегистрирован: 09 мар 2020 08:06

14 июл 2020 17:16

Как нет, когда в дополнительных настройках при выгрузке имеется выбор инфоблока с которым нужно работать.
Вложения
Screenshot_13.png
Screenshot_13.png (34.61 КБ) 3057 просмотров
isbaturin
Сообщения: 113
Зарегистрирован: 09 мар 2020 08:06

14 июл 2020 17:23

Но даже если допустить, что не знает etrade о инфоблоках ничего, случайное совпадение XML_ID с какой-то другой записью есть большущая проблема, вы не находите?
Экспорт товаров на сайт приводит к внезапной поломке любого другого функционала битрикса. Инфоблоков там куча и записей разных в них тоже.
Если проверяется слепо XML_ID без учета инфоблока, то тогда XML_ID у товаров в etrade должны быть не просто ID с нуля, а какие-то случайные буквенно-цифровые коды или хотя бы с префиксом, скажем etrade_12345.

Формально сейчас экспорт у меня не работает и нормально работать не будет, пока я не удалю тот другой инфоблок, с которым идет интерференция по XML_ID. А после этого буду каждый раз проверять - не порушилось ли при очередном экспорте что-то еще. А нет экспорта на сайт - по сути вся система становится бесполезной.
isbaturin
Сообщения: 113
Зарегистрирован: 09 мар 2020 08:06

31 июл 2020 17:45

Все таки, есть возможность рассмотреть эту проблему поподробнее?
Ответить

Вернуться в «Техническая поддержка»