CommerceML

Добрый день, нужна доработка, сам не пойму как.

Не совсем задачу понимаю но может поможет
/app/addons/rus_exim_1c/Tygh/Commerceml/RusEximCommerceml.php
обрабатываются оба файла import и offer

/app/addons/rus_exim_1c/func.php
функции обработки

У меня в offers.xml, такие коды
<Ид>e9fb7ea0-2c16-11e8-80c4-44a84235a830#b6c8927d-a4aa-11e9-80d3-44a84235a830</Ид>
Проблема здесь заключается в том, что если используется символ #, то для CS-Cart это означает, что это не цельный товар, а, например, комбинации.

Надо сделать так, чтобы обработчик игнорировал #, т.к. из за этого остатки не выгружаются

Так что ему проверять

e9fb7ea0-2c16-11e8-80c4-44a84235a830b6c8927d-a4aa-11e9-80d3-44a84235a830

или

e9fb7ea0-2c16-11e8-80c4-44a84235a830

или

b6c8927d-a4aa-11e9-80d3-44a84235a830

так надо целиком
<Ид>e9fb7ea0-2c16-11e8-80c4-44a84235a830#b6c8927d-a4aa-11e9-80d3-44a84235a830</Ид>

после # он не видит и поэтому остаток не выгружает

Смотрите функцию getProductIdByFile

Что то раньше я таких проблем не встречал. Может на строне 1с проблему порешать. А что за конфигурация 1с?

1С трогать нельзя, а так конечно, проще всего было бы, привести код в 1С в порядок.

Начал дорабатывать проект обмен 1с cs cart как раз почти твоя тема. Нашел код который формирует айди для вариативного товара.

Функция СформироватьУникальныйИдентификаторОбъекта(Объект, Характеристика = Неопределено)

Ид = Строка(Объект.УникальныйИдентификатор());

Если ТипЗнч(Объект) = Тип("СправочникСсылка.Номенклатура")
	И (НЕ Объект.ЭтоГруппа)
	И Объект.ВестиУчетПоХарактеристикам
	И ЗначениеЗаполнено(Характеристика) Тогда
	
	Ид = Ид + "#" + Строка(Характеристика.УникальныйИдентификатор());
	
КонецЕсли;

Возврат Ид;

КонецФункци
конец 1с начало моего сообщения.
Если в 1с в товаре стоит учет по сериям то такой товар выгружается в файл офер как 2 и более товара. в зависимости от количества вариаций например (размер обуви 41,42,43,44 и у каждого будет своя цени и остаток хотя товар один)
Один с нормальным ай ди другоие через слеш так cs cart понимает что это вариация и берет остаток из офера с дублированым значением. В твоем случае скорее всего в 1с нет остатка по вариации. Пришли файл offer посмотрим на него —удаление символа айдишнике или доработка cs carta проблему не решит.