function Set_getCOUPONandSLA($v, $f, $arFields) { global $APPLICATION; $slaID = 0; if (isset($arFields['SLA_ID']) && intval($arFields['SLA_ID']) > 0) { $slaID = $arFields['SLA_ID']; } // получение купона if (array_key_exists('COUPON', $arFields) && strlen($arFields['COUPON']) > 0) { $v->bActiveCoupon = CSupportSuperCoupon::UseCoupon($arFields['COUPON']); if ($v->bActiveCoupon) { $v->V_COUPON = $arFields['COUPON']; $rsCoupon = CSupportSuperCoupon::GetList(false, array('COUPON' => $arFields['COUPON'])); //if($arCoupon = $rsCoupon->Fetch() && intval($arCoupon['SLA_ID']) > 0) $arFields['SLA_ID'] = intval($arCoupon['SLA_ID']); if ($arCoupon = $rsCoupon->Fetch()) { if (intval($arCoupon['SLA_ID']) > 0) { $slaID = intval($arCoupon['SLA_ID']); } } } else { $APPLICATION->ThrowException(GetMessage('SUP_ERROR_INVALID_COUPON')); return false; } } // получаем SLA if ($slaID > 0) { //$f->FromArray($arFields, "SLA_ID", array(CSupportTableFields::MORE0)); $f->SLA_ID = $slaID; } else { $f->SLA_ID = CTicketSLA::GetSLA($f->SITE_ID, $f->OWNER_USER_ID, $f->CATEGORY_ID, $v->bActiveCoupon ? $v->V_COUPON : ""); } //elseif(intval($arFields["SLA_ID"]) <= 0) $f->SLA_ID = CTicketSLA::GetForUser($f->SITE_ID, $f->OWNER_USER_ID); return true; }