• Модуль: messageservice
  • Путь к файлу: ~/bitrix/modules/messageservice/lib/internal/entity/restrictiontable.php
  • Класс: BitrixMessageServiceInternalEntityRestrictionTable
  • Вызов: RestrictionTable::updateCounter
static function updateCounter(string $filteringCode, int $filteringCounter): bool
{
	$entity = static::getEntity();
	$table = static::getTableName();

	$filter = Query::filter()
		->where('CODE', $filteringCode)
		->where('COUNTER','<=', $filteringCounter)
		->where('DATE_CREATE', new Date())
	;

	$where = Query::buildFilterSql($entity, $filter);

	if($where !== '')
	{
		$where = ' where ' . $where;
	}

	$helper = Application::getConnection()->getSqlHelper();
	$tableName = $helper->quote($table);

	$sql = "UPDATE {$tableName} SET COUNTER = COUNTER + 1 {$where}";

	Application::getConnection()->queryExecute($sql);

	return Application::getConnection()->getAffectedRowsCount() === 1;
}