CommerceML не загружает параметры доставки из файлов import0_

цс-карт 4.10.4
модуль CommerceML 3.2.1

Из 1С товары выгружаются порциями, по 10 штук. Соответственно на сайт загружаются файлы import0_1, import0_2, import0_3 и так далее.
Все работает нормально, но проблема с параметрами доставки (вес, габариты).

Из первого файла (import0_1), для первых 10 товаров, эти праматеры загружаются в БД цскарт. Но из последующих файдов не загружаются.
В файле import0_1 идентификаторы этих характеристик прописаны (блок Свойства).

В файлах import0_2, import0_3 и так далее эти характеристики есть, значения в них тоже есть. Инденификаторы характеристик совпадают с файлом import0_1. Но в БД записываются пустые значения (ноли).

То есть, например, в файле import0_2, у товара есть свойство “Вес, кг”, его идентификатор совпадает с указанным в файле import0_1. Значеие свойства больше 0. Но в БД записывается 0.
И это для всех товаров, кроме первых 10, которые прописаны в файле import0_1.

Первое, чт оприходит в голову, проблема в том, что в файлах import0_2, import0_3 и так далее нет блока Свойства.
Но остальные свойства товаров ведь записываются в БД. Проблема только с 6 свойствами доставки - Вес, габариты (3) и Количество штук в коробке (2).

Пожалуйста, создайте обращение в Help desk, чтобы мы смогли помочь в изучении проблемы

После размышлений и практических проверок я, как мне кажется, нашел причину этой проблемы.

Дело в том, что параметры доставки, в цскарт хранятся не в отдельной таблице cscart_product_features.
А в виде массива, в одном поле таблицы - cscart_products.shipping_params
Поэтому в БД цскарт нет сопоставления между названиями этих парметров и их external_id.
И в файлах import0_2, import0_3 и так далее таких сопоставлений тоже нет, поскольку эти файлы 1С отправляет уже без секции “Свойства”.
Так что модуль просто не знает какие это параметры, поэтому игноририрует их.

Баг ли это? По моему скорее да чем нет.
Что тут можно сделать?
Есть варианты:
а) модуль может записывать секцию “Свойства” в БД. На тот случай если будут файлы import0_2, import0_3 и так далее.
б) параметры доставки можно хранить в cscart_product_features, как и другие.

Создал тикет.

1 лайк