работали нормально, потом через некоторое время немного доработал,
$arPoColor=[];
foreach($arResult['OFFERS'] as $newEl){
$arPoColor[$newEl['PROPERTIES']['код свойства содержащий цвет']['VALUE']][]=$newEl;
}
//а дальше уже где рисуете таблицу используете не $arResult['OFFERS'], а $arPoColor
$basket->refreshData(array('PRICE', 'COUPONS'));
$discount->calculate();
$order_resave = \Bitrix\Sale\Order::load($now_order_id);
$discount = $order_resave->getDiscount();
\Bitrix\Sale\DiscountCouponsManager::clearApply(true);
\Bitrix\Sale\DiscountCouponsManager::useSavedCouponsForApply(true);
$discount->setOrderRefresh(true);
$discount->setApplyResult(array());
if (!($basket = $order_resave->getBasket())) {
throw new \Bitrix\Main\ObjectNotFoundException('Entity "Basket" not found');
}
$basket->refreshData(array('PRICE', 'COUPONS'));
$discount->calculate();
$order_resave->setField("PRICE", $order_resave->getPrice());
$order_resave->save();
$order = Bitrix\Sale\Order::load($order_id);
далее
$discounts = $order ->getDiscount();
$res = $discounts ->getApplyResult();
foreach($res['COUPON_LIST'] as $cupo_n=>$ar_r){