$bInitVars = false; if ((strlen($save) > 0 || strlen($apply) > 0) && $REQUEST_METHOD == "POST" && $saleModulePermissions == "W" && check_bitrix_sessid()) { if (strlen($NAME) <= 0) { $strError .= GetMessage("ERROR_EMPTY_NAME") . "<br>"; } if (strlen($LID) <= 0) { $strError .= GetMessage("ERROR_EMPTY_LANG") . "<br>"; } if (strlen($strError) <= 0) { $arFields = array("LID" => $LID, "NAME" => trim($NAME), "CODE" => strlen($CODE) <= 0 ? False : $CODE, "DESCRIPTION" => $DESCRIPTION); if (IntVal($ID) > 0) { if (!CSaleTax::Update($ID, $arFields)) { $strError .= GetMessage("ERROR_EDIT_TAX") . "<br>"; } } else { $ID = CSaleTax::Add($arFields); if (IntVal($ID) <= 0) { $strError .= GetMessage("ERROR_ADD_TAX") . "<br>"; } } } if (strlen($strError) > 0) { $bInitVars = True; } if (strlen($save) > 0 && strlen($strError) <= 0) { LocalRedirect("sale_tax.php?lang=" . LANG . GetFilterParams("filter_", false)); } } if (strlen($ID) > 0) { $db_tax = CSaleTax::GetList(array(), array("ID" => $ID)); $db_tax->ExtractFields("str_");
} if (strlen($lang) <= 0) { $lang = "ru"; } $bRus = false; if ($lang == "ru") { $bRus = true; } __IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/step8.php", $lang)); $dbLocation = CSaleLocation::GetList(array("ID" => "ASC"), array("LID" => $lang)); if ($arLocation = $dbLocation->Fetch()) { $arLocation4Delivery = array(); do { $arLocation4Delivery[] = array("LOCATION_ID" => $arLocation["ID"], "LOCATION_TYPE" => "L"); } while ($arLocation = $dbLocation->Fetch()); //Location group $dblocationGroupID = CSaleLocationGroup::GetList(array("ID" => "DESC")); if ($arLocationGroupID = $dblocationGroupID->Fetch()) { $locationGroupID = $arLocationGroupID["ID"]; } $arLocation4Delivery[] = array("LOCATION_ID" => $locationGroupID, "LOCATION_TYPE" => "G"); //delivery handler CSaleDeliveryHandler::Set("simple", array("LID" => "", "ACTIVE" => "Y", "HID" => "simple", "NAME" => GetMessage("SALE_WIZARD_COUR1"), "SORT" => 100, "DESCRIPTION" => "", "HANDLERS" => "/bitrix/modules/sale/delivery/delivery_simple.php", "SETTINGS" => "", "PROFILES" => "", "TAX_RATE" => 0, "CONFIG" => array("price_" . $locationGroupID => "100"))); //Tax $taxID = CSaleTax::Add(array("LID" => $siteID, "NAME" => GetMessage("SALE_WIZARD_VAT"), "CODE" => "NDS")); $dbPerson = CSalePersonType::GetList(array("SORT" => "DESC")); if ($arPerson = $dbPerson->Fetch()) { //Tax rate CSaleTaxRate::Add(array("TAX_ID" => $taxID, "PERSON_TYPE_ID" => $arPerson["ID"], "VALUE" => 18, "CURRENCY" => $bRus ? "RUB" : "USD", "IS_PERCENT" => "Y", "IS_IN_PRICE" => "Y", "APPLY_ORDER" => 100, "ACTIVE" => "Y", "TAX_LOCATION" => $arLocation4Delivery)); } }
if (isset($_POST['LID'])) { $fields['LID'] = $_POST['LID']; } else { $fields['LID'] = SITE_ID; } if (isset($_POST['CODE'])) { $fields['CODE'] = $_POST['CODE']; } $tax = CCrmTax::GetByID($taxID); if (is_array($tax)) { if (!CSaleTax::Update($taxID, $fields)) { ShowError(GetMessage('CRM_TAX_UPDATE_UNKNOWN_ERROR')); } } else { $fields['TAX'] = $taxID; $taxID = CSaleTax::Add($fields); if (intval($taxID) <= 0) { ShowError(GetMessage('CRM_TAX_ADD_UNKNOWN_ERROR')); } } LocalRedirect(isset($_POST['apply']) ? CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_TAX_EDIT'], array('tax_id' => $taxID)) : CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_TAX_LIST'], array('tax_id' => $taxID))); } elseif ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['delete'])) { $taxID = isset($arParams['TAX_ID']) ? intval($arParams['TAX_ID']) : 0; $tax = $taxID > 0 ? CCrmTax::GetByID($taxID) : null; if ($tax) { if (!CSaleTax::Delete($taxID)) { ShowError(GetMessage('CRM_TAX_DELETE_UNKNOWN_ERROR')); } } LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_TAX_LIST'], array())); }