- Модуль: 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,
]);
}