if ($lMigrated) { try { \Bitrix\Sale\SalesZone::saveSelectedTypes(array('COUNTRY' => $_REQUEST["sales_zone_countries"][$siteList[$i]["ID"]], 'REGION' => $_REQUEST["sales_zone_regions"][$siteList[$i]["ID"]], 'CITY' => $_REQUEST["sales_zone_cities"][$siteList[$i]["ID"]]), $siteList[$i]["ID"]); } catch (Exception $e) { } } else { COption::SetOptionString($module_id, "sales_zone_countries", implode(":", $_REQUEST["sales_zone_countries"][$siteList[$i]["ID"]]), false, $siteList[$i]["ID"]); COption::SetOptionString($module_id, "sales_zone_regions", implode(":", $_REQUEST["sales_zone_regions"][$siteList[$i]["ID"]]), false, $siteList[$i]["ID"]); COption::SetOptionString($module_id, "sales_zone_cities", implode(":", $_REQUEST["sales_zone_cities"][$siteList[$i]["ID"]]), false, $siteList[$i]["ID"]); } } } else { $site_id = trim($_REQUEST["ADDRESS_current_site"]); if ($lMigrated) { try { \Bitrix\Sale\SalesZone::saveSelectedTypes(array('COUNTRY' => $_REQUEST["sales_zone_countries"][$site_id], 'REGION' => $_REQUEST["sales_zone_regions"][$site_id], 'CITY' => $_REQUEST["sales_zone_cities"][$site_id]), $site_id); } catch (Exception $e) { } } else { COption::SetOptionString($module_id, "sales_zone_countries", implode(":", $_REQUEST["sales_zone_countries"][$site_id])); COption::SetOptionString($module_id, "sales_zone_regions", implode(":", $_REQUEST["sales_zone_regions"][$site_id])); COption::SetOptionString($module_id, "sales_zone_cities", implode(":", $_REQUEST["sales_zone_cities"][$site_id])); } } } for ($i = 0, $intCount = count($arAllOptions); $i < $intCount; $i++) { if (!empty($arAllOptions[$i])) { $name = $arAllOptions[$i][0]; $val = ${$name}; if ($arAllOptions[$i][3][0] == "checkbox" && $val != "Y") { $val = "N";
public static function convertSalesZones() { $siteList = \CSaleLocation::getSites(); $siteList[] = ''; // 'empty site' too foreach ($siteList as $siteId) { $countries = Sale\SalesZone::getCountriesIds($siteId); $regions = Sale\SalesZone::getRegionsIds($siteId); $cities = Sale\SalesZone::getCitiesIds($siteId); if (empty($countries) && empty($regions) && empty($cities)) { continue; } Sale\SalesZone::saveSelectedTypes(array('COUNTRY' => $countries, 'REGION' => $regions, 'CITY' => $cities), $siteId); } }