Вряд ли дело в сортировке. Дело в том что раньше при обмене с 1с товар загружался без предвыбранного предложения, а теперь выбирается автоматически. При этом код обмена никак не изменялся, более того, откатывал на ранние версии и это никак не влияло на результат.
Так же выяснил причину по которой на некоторых товарах не выделяется торговое предложение, все дело в том, что ранее в перечне торговых предложений было одно предложение без указания характеристики (цвета) и оно ставилось по умолчанию, но при этом не отображается в карточке товара, а значит и выбрать его было нельзя. Вероятно с одним из обновлений 1с такое предложение было исключено из выгрузки. Тем не менее, как то отключить выбор предложения все же необходимо.
Если изменить
$jsParams['OFFER_SELECTED'] = $item['OFFERS_SELECTED'];
на
$jsParams['OFFER_SELECTED'] = -1;
тогда предложение выделяться не будет (т.к. это вызовет ошибку), но превью все равно выбирается из торгового предложения, а не из превью товара по умолчанию

Так же выяснил причину по которой на некоторых товарах не выделяется торговое предложение, все дело в том, что ранее в перечне торговых предложений было одно предложение без указания характеристики (цвета) и оно ставилось по умолчанию, но при этом не отображается в карточке товара, а значит и выбрать его было нельзя. Вероятно с одним из обновлений 1с такое предложение было исключено из выгрузки. Тем не менее, как то отключить выбор предложения все же необходимо.
Если изменить
$jsParams['OFFER_SELECTED'] = $item['OFFERS_SELECTED'];
на
$jsParams['OFFER_SELECTED'] = -1;
тогда предложение выделяться не будет (т.к. это вызовет ошибку), но превью все равно выбирается из торгового предложения, а не из превью товара по умолчанию
