Проблема работы модуля обмена CommerceML: 1С, МойСклад, Бизнес.Ру

CS-Cart 4.15.1.SP2 RU

После последнего обновления и применения патча для работы МойСклад проблема в работе модуля обмена “CommerceML: 1С, МойСклад, Бизнес.Ру”

При обработке файла import.xml затирается цена у товаров. В связи с тем, что у МойСклад, выгрузка всего каталога, происходит при большом количестве товаров довольно долго, на сайте мало того что заметно это, так ещё если в момент до затирания стоимости клиент добавил товар в корзину, а когда цена затёрлась перешёл в оформление заказа, то товар с нулевой стоимостью, и такой заказ можно оформить!

Разработчики в своём репертуаре! Не так много тем, а ответа нет! Как и на схожую тему!

Как обычно, ищем баги сами и решения сами :joy:
В файле app/addons/commerceml/src/Importers/ProductImporter.php 507-509 строка, раньше этого не было:

if (!isset($product_data[‘price’])) {
$product_data[‘price’] = 0;
}

Коммитим и радуемся, обнуляться цены при обработке import.xml не будут!

3 лайка

Хорошо бы узнать, зачем это обнуление сделано… Может мы не видим какой-то коварный замысел? ))

Это, видимо, для новых товаров. Если для товара нет записи в таблице с ценами, то он на витрине не будет отображаться

Никак это не влияет! Проверил. Товар прекрасно создаётся и отображается на витрине без это участка кода, в таблице запись появляется с нулевой ценой. Для новых товаров это норм поведение, такое и было, а вот с уже имеющимися, это бага конкретная и я об этом уже писал! Где вообще разработчики??? Может меня на пол ставки возьмут :rofl:???

Такая же проблема. После последних обновлений цена обнуляется.

Здравствуйте, @mwenom
Спасибо за ваши сообщения.

Не могли бы вы поделиться файлами импорта или написать об этой проблеме в нашу службу поддержки Help Desk, чтобы мы смогли проверить описанное поведение?

Доброго времени суток!

Ну во первых, при обращении в Help Desk спишутся баллы поддержки.
Во вторых xml файлы, это данные клиента, передавать их третьим лицам я не имею права.
В третьих, описания проблемы больше чем достаточно, могу видео записать и выложить.
В четвёртых, по хорошему нужен отдельный Bug Tracker, как система, а не ветка форума. Чтобы реакцию разработчиков было сразу видно, а не как сейчас, где всё комьюнити само себе помогает.

Я готов записать видео презентацию, чтобы наглядно было видно, раз разработчики не могут разобраться в текстовом описании проблемы и не в состоянии воспроизвести ситуацию.

Здравствуйте.

Я воспроизвела проблему и передала информацию разработчикам.

При обращении в Help Desk кредиты поддержки списываются только в том случае, если проблема не вызвана багом в продукте.
Если найденная вами проблема признается багом, её исправляют бесплатно.

Когда будет фикс?

Если отключить синхронизацию цен, то и количество не выгружается!!! Что за дичь?=)

Здравствуйте.

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

Здравствуйте @mwenom .

Проблема исправлена, исправление войдет в релиз CS-Cart и Multi-Vendor 4.15.3
Для исправления проблемы собственными силами можно использовать патч:

О том, как применить патч, можно прочитать в нашей документации: https://www.cs-cart.ru/docs/latest/upgrade/apply_diff_file.html

2 лайка

Здравствуйте! После применение выше указанного патча появилась следующая проблема: импорт доходит до обработки файла import0_4.xml и все, процесс останавливается.
логи
commerceml.log

2023-01-30 13:03:28 [info]: Завершаю импорт товара 7eb7e8a1-04e6-11e8-80be-484d7eee5943
2023-01-30 13:03:28 [info]: Запрос на импорт данных из файла обмена каталога import0_3.xml обработан
2023-01-30 13:03:29 [info]: Запрос на сеанс обмена получен
2023-01-30 13:03:29 [info]: Запрос на сеанс обмена обработан. ID сеанса: 9560c616424869bc628c7a039692fd2f-1-C
2023-01-30 13:03:29 [info]: Запрос на параметры обмена получен
2023-01-30 13:03:29 [info]: Директория var/files/1/exim/1C/ очищена от старых файлов обмена
2023-01-30 13:03:29 [info]: Запрос на параметры обмена обработан. Ограничение на размер файла: 104857600. Поддержка ZIP: yes
2023-01-30 13:03:29 [info]: Запрос на скачивание файла обмена v8_1485_472.zip получен
2023-01-30 13:03:29 [info]: Запрос на скачивание файла обмена v8_1485_472.zip обработан
2023-01-30 13:03:30 [info]: Запрос на распаковку файла обмена v8_1485_472.zip получен
2023-01-30 13:03:30 [info]: Запрос на распаковку файла обмена v8_1485_472.zip обработан

и далее ничего нет (((

лог запросов сервера

"GET /commerceml/?type=catalog&mode=import&filename=import0_4.xml HTTP/1.1" 200 39 "-" "1C+Enterprise/8.3"
"GET /commerceml/?type=catalog&mode=import&filename=import0_4.xml HTTP/1.1" 200 39 "-" "1C+Enterprise/8.3"
"GET /commerceml/?type=catalog&mode=import&filename=import0_4.xml HTTP/1.1" 200 39 "-" "1C+Enterprise/8.3"

и так бесконечно…

в логе ошибок, ошибок нет

лечится только перезапуском службы nginx после чего импорт продолжается.
Сайт работает на связке Nginx + PHP-FPM. версия cs-cart 4.15.2
повторюсь, без патча импорт проходил полностью, огорчало только, что изначально цены обнулялись, а потом опять подтягивались

Такая же ерунда…

Помогло лишь ручное применение патча и только на эти 2 строки (другие изменения не вносил):

-        if (!isset($product_data['price'])) {
-            $product_data['price'] = 0;
1 лайк

Подтверждаю загрузка зависает и лечится перезагрузкой nginx. CS-Cart v4.16.2, Управление торговлей, редакция 11 (11.5.12.50), 1С:Предприятие 8.3 (8.3.22.1923)
пришлось в cron прописать перезагрузку каждые 30 мин, так хоть как-то работает

за полгода разработчки так и не исправили?

У вас зависает на каком-то конкретном файле? В моем случае (не обрабатывался только файл import0_4.xml и все на нем останавливалось) пошел до боли простым и радикальным способом, открыл копию базы данных в текстовом редакторе и выполнил поиск по “import0_4” и к моему удивлению обнаружилась строка “commerceml_import_file_1_import0_4.xml” в таблице “cscart_storage_data” где в колонке “data” было закодировано “progress” (тоесть 1с-ка получала всегда только этот статус “progress” при обработке данного файла и естественно не отправляла новых файлов пока не дождется “success”). Удалил данную строку в таблице “cscart_storage_data” и все заработало.
По непонятной причине cs-cart может заблокировать обработку какого-то из файлов, поместив его в таблицу cscart_storage_data

1 лайк

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

Спасибо, Теперь у меня тоже заработало, только у меня стопорилось на двух файлах, offers0_1
и import3_1.xml, еще у меня в этой таблице куча записей типа “commerceml_import_file_1_offers2_100.xml”
“commerceml_import_file_1_offers0_160.xml” Вот думаю их тоже поудалять.

П.С. поудалял эти записи с начала таблицы и с конца, и после следующей выгрузки данные записи совсем пропали.

Еще раз спасибо! )