Quad.Wiki

Bitrix API: Элемент с таким символьным кодом уже существует

У товара на сайте должен быть уникальный Символьный код (этот код идет в ссылку, по которой открывается товар).

При обновлении товаров из программы обновление осуществляется по Внешнему коду. Соответственно у товара должны быть уникальными как Внешний код, так и Символьный.

Ошибка “Элемент с таким символьным кодом уже существует” может быть по следующим причинам:

 

1. В программе добавлено несколько товаров с одинаковым названием (во вкладке Продукция). Символьный код формируется автоматически из названия товара, если еще не указан, соответственно для нескольких товаров создается одинаковый символьный код.

Нужно по коду из ошибок в Sync найти такие товары во вкладке Продукция и исправить у них текст в поле Символьный код, чтобы он не повторялся для нескольких товаров. Можете добавить в конец символьного кода какие-то цифры, разные для разных товаров.

 

2. В программе добавлено несколько товаров с одинаковым Символьным кодом. Код этот или был загружен с сайта, или вводился вручную. Или же сформировался из одинаковых названий товаров, до того, как названия эти поменялись в программе (при смене названия товара, символьный код не изменяется, если он уже указан).

Нужно сделать то же, что и в п.1, убрать дубли Символьного кода.

 

3. Есть расхождения информации в поле Внешний и Символьный код в программе и на сайте. Расхождение может быть, например, из-за изменения по каким-то причинам Внешнего кода в программе. В этом случае программа пытается на сайте создать новый товар с Символьным кодом, который уже есть на сайте у другого товара.

Нужно вручную исправить Символьный и Внешний коды в программе и на сайте, чтобы они полностью совпадали. Если на сайте у товаров отличается Внешний код от товара во вкладке Продукция, то вручную на сайте через админку в карточке товара исправить Внешний код, чтобы он был такой же как в программе.

 

Чтобы у товаров на сайте отображался Внешний код, нужно установить эту птичку и Сохранить.

Внешний код по-умолчанию в карточке товара здесь (может быть и в другом месте):

Символьный код:

Найти проблемный товар в программе можно по коду из лога ошибок SyncX, действия выгрузки на сайт.

На сайте может не быть такого товара с таким кодом, так как он еще не создан, но есть другой товар, у которого код другой, но символьный код такой же, как в товаре с ошибкой. Т.е. на сайте товар нужно искать или по названию или по символьному коду.