• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/grid/row/actions/item/clearcounteritem.php
  • Класс: BitrixIblockGridRowActionsItemClearCounterItem
  • Вызов: ClearCounterItem::processRequest
public function processRequest(HttpRequest $request): ?Result
{
	$id = $request->getPost('id');
	if (empty($id) || !is_numeric($id))
	{
		return null;
	}
	$id = (int)$id;

	if (!$this->getIblockRightsChecker()->canEditElement($id))
	{
		throw new AccessDeniedException('Cannot edit element');
	}

	$result = new Result();

	$entity = new CIBlockElement();
	$updateResult = $entity->Update($id, [
		'SHOW_COUNTER' => false,
		'SHOW_COUNTER_START' => false,
	]);
	if (!$updateResult)
	{
		$message = $entity->LAST_ERROR ?: 'Cannot update element';
		$result->addError(new Error($message));
	}

	return $result;
}