if ($_REQUEST['action_target'] == 'selected') { $arID = array(); $dbResultList = CSaleTaxRate::GetList(array($by => $order), $arFilter); while ($arResult = $dbResultList->Fetch()) { $arID[] = $arResult['ID']; } } foreach ($arID as $ID) { if (strlen($ID) <= 0) { continue; } switch ($_REQUEST['action']) { case "delete": @set_time_limit(0); $DB->StartTransaction(); if (!CSaleTaxRate::Delete($ID)) { $DB->Rollback(); if ($ex = $APPLICATION->GetException()) { $lAdmin->AddGroupError($ex->GetString(), $ID); } else { $lAdmin->AddGroupError(GetMessage("SALE_DELETE_ERROR"), $ID); } } $DB->Commit(); break; case "activate": case "deactivate": $arFields = array("ACTIVE" => $_REQUEST['action'] == "activate" ? "Y" : "N"); if (!CSaleTaxRate::Update($ID, $arFields)) { if ($ex = $APPLICATION->GetException()) { $lAdmin->AddGroupError($ex->GetString(), $ID);
function Delete($ID) { global $DB; $ID = IntVal($ID); $db_taxrates = CSaleTaxRate::GetList(array(), array("TAX_ID" => $ID)); while ($ar_taxrates = $db_taxrates->Fetch()) { CSaleTaxRate::Delete($ar_taxrates["ID"]); } $DB->Query("DELETE FROM b_sale_tax_exempt2group WHERE TAX_ID = " . $ID . "", true); return $DB->Query("DELETE FROM b_sale_tax WHERE ID = " . $ID . "", true); }
$error = GetMessage('CRM_TAXRATE_UPDATE_GENERAL_ERROR'); } ShowError($error); return; } } } } if (!isset($_POST['AJAX_CALL'])) { LocalRedirect($APPLICATION->GetCurPage()); } } elseif ($_SERVER['REQUEST_METHOD'] == 'GET' && check_bitrix_sessid() && isset($_GET['action_' . $arResult['GRID_ID']])) { if ($arResult['CAN_DELETE'] && $_GET['action_' . $arResult['GRID_ID']] === 'delete') { $rateID = isset($_GET['ID']) ? $_GET['ID'] : ''; if ($rateID > 0) { if (!CSaleTaxRate::Delete($rateID)) { ShowError(GetMessage('CRM_TAXRATE_DELETION_GENERAL_ERROR')); } } unset($_GET['ID'], $_REQUEST['ID']); // otherwise the filter will work } if (!isset($_GET['AJAX_CALL'])) { LocalRedirect($bInternal ? '?' . $arParams['TAX_FORM_ID'] . '_active_tab=tab_props' : ''); } } $gridOptions = new CCrmGridOptions($arResult['GRID_ID']); $gridSorting = $gridOptions->GetSorting(array('sort' => array('ID' => 'asc'), 'vars' => array('by' => 'by', 'order' => 'order'))); $sort = $arResult['SORT'] = $gridSorting['sort']; $arResult['SORT_VARS'] = $gridSorting['vars']; $dbPersonType = CSalePersonType::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array());