И Опять Про 1С

Последняя версия стоит. НЕ понятна логика работы импорта. Есть выбор вариантов импорта (файл import.xml как написано): все товары, только новые и т.д. Ставлю только новые, исходя из того, что зачем бегать скрипту по сотням имеющимся товарам.

Теперь, имеем следующие товары:

1 - есть уже, но у него поменялись цены

2 - новый товар

3 - есть уже, ничего не поменялось

4 - есть уже, но поменялось кол-во

Теперь после обработки файла import запускаем обработку файла offers и... И ничего, изменения товаров 1 и 4 не подтягиваются. Как так?

Смотрим код функции fn_exim_1c_offers

а там:

if ($type_import_products == 'new_products' && $product_data['status'] != 'N') {
    continue;
}

Оказывается и не должны при установке импорта из файла import только новых товаров обрабатываться имеющиеся!!!!!!!!!!!!!!

Вопрос, ПОЧЕМУ? Почему такая логика заложена????

Как тогда стандартными настройками мне сделать то, что я хочу???? Или опять костыли ставить, писать самому???????????

P.S. Вариант поставить опцию "Все товары" не катит, т.к. импорт перетирает как минимум наименование товара, которое в моем случае в 1С неверное и после импорта отдельным моим скриптом формируется в cs-cart так как мне нужно.

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

Загрузка только новых товаров предполагает, что вам нужно загружать только новые товары и их количество, цены.

А как мне сделать мой вариант, когда надо обновлять в автоматическом режиме цены и количество, а также добавлять новые товары?

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

В вашем случае, вам необходимо удалить строку в коде:

if ($type_import_products == 'new_products' && $product_data['status'] != 'N') {
    continue;
}

При удалении данного условия обновление количества и цен будет выполнятся вне зависимости от выбранного значения для настройки "Обновления товаров".

В общем-то так уже и сделал. А может это вынести в настройки? Дело то 5 минут.

Настройка "Обновлять товары" была добавлена для файлов import и offers, т.е. она распространяется на оба файла.

Предполагается, что если выбрано значение "Загружать только новые товары", то необходима загрузка только новых товаров, а обновлять ранее загруженные товары не нужно.

Странный подход. В реальности меняется цена, меняется кол-во, появляются новые товары. Особенно если есть еще и розничные магазины. Зачем при обмене делать лишние телодвижения?

Сложно разве добавить в базу настройку: "добавить новые и обновить существующие товары". При этом, если товар новый, то он добавляется, если товар уже есть, то у него обновляются только цены и кол-во. Всё.

Для этого нужно подправить шаблон модуля и убрать 3 строки в функции. Делов на 5 минут. А удобства на всю жизнь.

Мы рассмотрим ваше предложение.

Добавлена ли такая возможность в текущих релизах? Это очень актуально

Сделал тестовый обмен, в CS Cart настройки не менял, кроме версии схемы CML.
Выгрузил товары со склада в интернет-магазин.
Затем в 1С добавил на склад новый товар и поменял цену и количество у старого.
Сделал повторный обмен и в CS Cart все выгрузилось, как надо – новый товар появился, у старого товара цена и остаток поменялись.

Вывод: в текущей версии все работает, как надо. Новые товары выгружаются, а старые товары обновляются.

%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5

тут тоже ничего не менял?

Ничего, кроме версии схемы.