Ситуация. Обмен идет НЕ из 1с, но при помощи 1c_exchange.php. Описан тут http://dev.1c-bitrix.ru/community/webdev/user/16899/blog/1654/ Мне необходимо удалять неиспользуемые торговые предложения на сайте. Т.е. нужно перечислить их в CML, чтобы Битрикс при импорте файлов удалил эти предложения. Загружаю тестовый CML файл следующего содержания: ======================== <КоммерческаяИнформация> <ПакетПредложений СодержитТолькоИзменения="True"> <Ид>5484bff7-6844-465c-a084-6b5190000002</Ид> <Наименование>Цены для сайта</Наименование> <ИдКаталога>5484bff7-6844-465c-a084-6b5190000000</ИдКаталога> <ИдКлассификатора>5484bff7-6844-465c-a084-6b5190000008</ИдКлассификатора> <ТипыЦен> <ТипЦены> <Ид>5484bff7-6844-465c-a084-6b5190000010</Ид> <Наименование>Розничная</Наименование> <Валюта>RUB</Валюта> <Налог> <Наименование>НДС</Наименование> <УчтеноВСумме>true</УчтеноВСумме> </Налог> </ТипЦены> </ТипыЦен> <Предложения> <Предложение> <Ид>5484bff7-6844-465c-a084-6b5193003503#5484bff7-6844-465c-a084-6b5194005881</Ид> <ПометкаУдаления>true</ПометкаУдаления> </Предложение> </Предложения> </ПакетПредложений> </КоммерческаяИнформация> ========================
В результате работы скрипта получаю несколько пустых шагов.
В результате УДАЛЯЮТСЯ ВСЕ ПРЕДЛОЖЕНИЯ данного товара (с кодом 5484bff7-6844-465c-a084-6b5193003503), а не единственное предложение, указанное в файле. Пробовал вместо <ПометкаУдаления> использовать <Предложение Статус="удален"> - тот же результат. Битрикс актуальный, коробочный.
Вопрос не относится к модулю 1С, но все равно прошу помочь. То ли я что-то неправильно в файле пишу (наиболее вероятно), то ли 1c_exchange.php дурит.
Полная выгрузка? Это крутовато получается. Я в день обновляю максимум десяток товаров, это занимает секунды. Если каждый раз грузить весь каталог - это час-полтора.
Я приведенный выше синтаксис CML подсмотрел в выходных файлах вашего модуля обмена, из 1с. Там как раз СодержитТолькоИзменения="True".
Цитата
Александр Денисюк пишет: Если у вас <ПакетПредложений СодержитТолькоИзменения="True"> , тогда вообще ничего не будет удаляться.
Но ведь по факту удаляется. Только удаляются все предложения текущего товара, вместо одного.
АИ что означает "старый обмен"? (1С не использую, подсовываю битриксу файл по протоколу вручную). В смысле, это он на стороне Битрикса старый? А как это точно узнать (если Битрикс полностью обновленный сейчас)?
Только что выснилось, что вчера после загрузки вышеприведенного файла удалились ВООБЩЕ ВСЕ предложения, ане только предложения товара (я не заметил другие товары из-за кешировния). Гружу весь каталог заново. Блин.
Добрый день. Гружу каталог товаров до 40 000 из MongoDB формируюя CML. Гружу по частям по 1000 в файле. Если в настройках интеграции стоит галочка "удалять (деактивировать) элементы, которых нет в файле импорта", то удаляются все остальные, кроме текущей тысячи. В итоге из 40 000 товаров на сайте активно только 1000.
Как сделать что бы остальные товары не деактивировались?