• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/grid/panel/ui/item/changepricesactionsitem.php
  • Класс: BitrixCatalogGridPanelUIItemChangePricesActionsItem
  • Вызов: ChangePricesActionsItem::processRequest
public function processRequest(HttpRequest $request, bool $isSelectedAllRows): ?Result
{
	if (empty($request->get('chprice_value_changing_price')))
	{
		return null;
	}

	if (!$this->rights->canEditPrices())
	{
		return null;
	}

	$ids = $request->getPost('ID');
	if (!is_array($ids))
	{
		return null;
	}

	[$elementIds, $sectionIds] = RowType::parseIndexList($ids);
	if (empty($elementIds) && empty($sectionIds))
	{
		return null;
	}

	$changerParams = [
		'PRICE_TYPE' => $request->get('chprice_id_price_type'),
		'UNITS' => $request->get('chprice_units'),
		'FORMAT_RESULTS' => $request->get('chprice_format_result'),
		'INITIAL_PRICE_TYPE' => $request->get('chprice_initial_price_type'),
		'RESULT_MASK' => $request->get('chprice_result_mask'),
		'DIFFERENCE_VALUE' => $request->get('chprice_difference_value'),
		'VALUE_CHANGING' => $request->get('chprice_value_changing_price'),
	];

	$changePrice = new IblockPriceChanger($changerParams, $this->iblockId);

	return $changePrice->updatePrices([
		'SECTIONS' => $sectionIds,
		'ELEMENTS' => $elementIds,
	]);
}