$basketDiscount = new CSaleBasketDiscountConvert($params['sessID'], $params['maxExecutionTime'], $params['maxOperationCounter']);
        $basketDiscount->initStep($params['counter'], $params['operationCounter'], $params['lastID']);
        $basketDiscount->setFilter($filter);
        $basketDiscount->run();
        $result = $basketDiscount->saveStep();
    }
    if ($request['getCount'] == 'Y') {
        $result = array('counter' => CSaleBasketDiscountConvert::getFilterCounter($filter));
    }
    header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
    echo CUtil::PhpToJSObject($result, false, true);
    require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_admin_after.php';
} else {
    $APPLICATION->SetTitle(Loc::getMessage('SALE_BASKET_DISCOUNT_CONVERT_PAGE_TITLE'));
    $ordersCounter = CSaleBasketDiscountConvert::getAllCounter();
    $oneStepTime = CSaleBasketDiscountConvert::getDefaultExecutionTime();
    require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_after.php';
    $tabList = array(array('DIV' => 'basketDiscountTab01', 'TAB' => Loc::getMessage('SALE_BASKET_DISCOUNT_TAB'), 'ICON' => 'sale', 'TITLE' => Loc::getMessage('SALE_BASKET_DISCOUNT_TAB_TITLE')));
    $tabControl = new CAdminTabControl('basketDiscountConvert', $tabList, true, true);
    CJSCore::Init(array('date'));
    Main\Page\Asset::getInstance()->addJs('/bitrix/js/catalog/step_operations.js');
    Main\Page\Asset::getInstance()->addJs('/bitrix/js/sale/admin/step_operations.js');
    ?>
<div id="basket_discount_result_div" style="margin:0; display: none;"></div>
	<div id="basket_discount_error_div" style="margin:0; display: none;">
		<div class="adm-info-message-wrap adm-info-message-red">
			<div class="adm-info-message">
				<div class="adm-info-message-title"><?php 
    echo Loc::getMessage('SALE_BASKET_DISCOUNT_ERRORS_TITLE');
    ?>
</div>