3namespace Bitrix\Catalog\Grid\Panel\UI\Item\Group;
5use Bitrix\Catalog\Config\State;
6use Bitrix\Catalog\Grid\ProductAction;
7use Bitrix\Iblock\Grid\Panel\UI\Actions\Helpers\ItemFinder;
8use Bitrix\Iblock\Grid\Panel\UI\Actions\Item\ElementGroup\BaseGroupChild;
9use Bitrix\Main\Filter\Filter;
10use Bitrix\Main\Grid\Panel\Actions;
11use Bitrix\Main\Grid\Panel\Snippet;
12use Bitrix\Main\Grid\Panel\Snippet\Onchange;
13use Bitrix\Main\HttpRequest;
14use Bitrix\Main\Loader;
15use Bitrix\Main\Localization\Loc;
16use Bitrix\Main\Result;
18Loader::requireModule(
'iblock');
24 public static function getId(): string
26 return 'convert_to_service';
31 return Loc::getMessage(
'CATALOG_GRID_PANEL_UI_PRODUCT_ACTION_CONVERT_TO_SERVICE_NAME');
38 [$elementIds, $sectionIds] = $this->prepareItemIds(
$request, $isSelectedAllRows,
$filter);
60 State::isUsedInventoryManagement()
61 ? Loc::getMessage(
'CATALOG_GRID_PANEL_UI_PRODUCT_ACTION_CONVERT_TO_SERVICE_CONFIRM_WITH_INVENTORY')
62 : Loc::getMessage(
'CATALOG_GRID_PANEL_UI_PRODUCT_ACTION_CONVERT_TO_SERVICE_CONFIRM_WITHOUT_INVENTORY')
67 'ACTION' => Actions::RESET_CONTROLS,
70 'ACTION' => Actions::CREATE,
72 (
new Snippet)->getSendSelectedButton($confirmMessage),
if(!Loader::includeModule('catalog')) if(!AccessController::getCurrent() ->check(ActionDictionary::ACTION_PRICE_EDIT)) if(!check_bitrix_sessid()) $request
processRequest(HttpRequest $request, bool $isSelectedAllRows, ?Filter $filter=null)
static convertToServiceSectionList(int $iblockId, array $sections)
static convertToServiceElementList(int $iblockId, array $elementIds)