Столкнулся с проблемой: в базе часами выполняется обмен с сайтом на Битрикс на встроенном механизме, хотя в настройках обмена с сайтом установлен Режим выгрузки данных в значение Изменения.
Данные, зарегистрированные для изменений постепенно уменьшаются, а потом снова резко подскакивает количество.
Оказалось, что в изменениях зарегистрированы группы номенклатуры, которые не переносятся, а в типовой сделано так, что если изменяется раздел, все вложенные товары при начале обмена помечаются изменёнными.
Для начала, чтобы это остановить, меняем условие сравнения на ВСписке в модуле ОбменССайтом в процедуре ИзменитьОтборКомпоновщика():
// Добавляем отбор по изменениям.
Если МассивИзмененийНоменклатуры <> Неопределено Тогда
СписокГруппОтбора = Новый СписокЗначений;
СписокГруппОтбора.ЗагрузитьЗначения(МассивИзмененийНоменклатуры);
НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.ИдентификаторПользовательскойНастройки = ОтборПоИзменениям;
НовыйЭлемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Номенклатура");
НовыйЭлемент.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;//.ВСпискеПоИерархии;
НовыйЭлемент.ПравоеЗначение = СписокГруппОтбора;
НовыйЭлемент.Использование = Истина;
КонецЕсли;
Далее ждём, пока передадутся все данные, которые удаётся передать.
Потом смотрим с помощью обработки, что за разделы зарегистрированы к изменениям, и смотрим, что с этим делать. Вероятно, просто нужно отменить удалить по ним регистрацию изменений.
По заказам обмен передаёт изменения по заказам, которые пришли с сайта. У них должно быть дополнительное свойство с номером заказа в Битриксе, если на закладке "Заказы" в обработке в колонке "Свойство" пусто - это значит, что заказ не с сайта и можно тоже удалить регистрацию изменений.