Выгрузка цены из 1С на 4.15.1

При выгрузке товаров с 1С, начали сбрасываться цены на товары сайта.
Такое поведение началось сразу после обновления на 4.15.1

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

Покажите пожалуйста скриншот вкладки Цены из настроек синхронизации. Возможно, еще стоит уточнить, товары импортируются с характеристиками или без?

Импорт только цен и остатков. Кол-во номенклатуры около 7 тыс. Импорт порционный.

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

Вероятнее всего, для конкретных предложений в offers.xml не выгружена цена. В этой теме баг не будет подтвержден без указания параметров выгрузки, без файлов выгрузки. Может попробовать задать количество попыток на повторную выгрузку?

На демонстрационной базе 1С воспроизвести проблему не удалось при выполненни порционного импорта по 10 объектов. При изменении цены приходят в каталог корректно.

дабы не плодить похожие темы, отпишусь тут

вот эта логика

В момент выгрузки цены обнуляются, к завершению выгрузки большинство цен становится нормальным

имеет хитрый изъян.

у меня установлен стандартный модуль vendor_data_premoderation и настроен он так что на модерацию идёт в том числе и изменение цены

в другом (самописном) модуле я отлавливаю хук update_product_post и дальше мой код зависит от статуса обновляемого товара
if (status == 'A')...

теперь при импорте из 1с сначала зануляются цены, но статус товара при этом не переходит в ‘R’
а вторым проходом, когда выставляются цены, статус уже ‘R’

чтобы мой код не срабатывал при занулении, условие пришлось модифицировать
if (status == 'A' && price != 0)...

А для чего вообще обнулять цены? Если цена изменилась, не проще обновлять? Та же проблема, даже отдельную тему завёл. С МойСклад выгружается довольно большой каталог, не умеет он только изменения отправлять. Отловили такой баг:

  1. Покупатель добавил товар в корзину.
  2. Начался обмен (обрабатывается файл import.xml)
  3. Цена товара стала 0 в оформлении заказа. Добавить его в корзину уже нельзя (в карточке товара “уточнить стоимость”).
  4. Но тот что в корзине остался со стоимостью 0
  5. Клиент совершил заказ, и таких два товара, вышли ему бесплатно.

По любому баг!

2 лайка

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

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

if (!isset($product_data[‘price’])) {
$product_data[‘price’] = 0;
}
Коммитим и радуемся, обнуляться цены при обработке import.xml не будут!

1 лайк

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