function ClearAffiliateSum($affiliate) { global $DB; $arAffiliate = CSaleAffiliate::CheckAffiliateFunc($affiliate); if (!$arAffiliate) { return False; } $arAffiliate["PAID_SUM"] = str_replace(",", ".", $arAffiliate["PAID_SUM"]); $arAffiliate["PAID_SUM"] = DoubleVal($arAffiliate["PAID_SUM"]); if ($arAffiliate["PAID_SUM"] > 0) { if (!array_key_exists("BASE_LANG_CURRENCIES", $GLOBALS)) { $GLOBALS["BASE_LANG_CURRENCIES"] = array(); } if (!array_key_exists($arAffiliate["SITE_ID"], $GLOBALS["BASE_LANG_CURRENCIES"])) { $GLOBALS["BASE_LANG_CURRENCIES"][$arAffiliate["SITE_ID"]] = CSaleLang::GetLangCurrency($arAffiliate["SITE_ID"]); } if (!CSaleAffiliate::Update($arAffiliate["ID"], array("PAID_SUM" => 0))) { if ($ex = $GLOBALS["APPLICATION"]->GetException()) { $GLOBALS["APPLICATION"]->ThrowException($ex->GetString(), "AF_UPDATE_ERROR"); } else { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("ACGA1_ERROR_UPDATE_SUM"), "AF_UPDATE_ERROR"); } return False; } $arFields = array("AFFILIATE_ID" => $arAffiliate["ID"], "TRANSACT_DATE" => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL", SITE_ID))), "AMOUNT" => $arAffiliate["PAID_SUM"], "CURRENCY" => $GLOBALS["BASE_LANG_CURRENCIES"][$arAffiliate["SITE_ID"]], "DEBIT" => "N", "DESCRIPTION" => "AFFILIATE_CLEAR", "EMPLOYEE_ID" => $GLOBALS["USER"]->IsAuthorized() ? $GLOBALS["USER"]->GetID() : False); CSaleAffiliateTransact::Add($arFields); } return True; }