• Модуль: messageservice
  • Путь к файлу: ~/bitrix/modules/messageservice/lib/internal/entity/message.php
  • Класс: BitrixMessageServiceInternalEntityMessageTable
  • Вызов: MessageTable::updateMessageStatuses
static function updateMessageStatuses($id, $newInternalStatusId, $newExternalStatus)
{
	$connection = Application::getConnection();
	$tableName = static::getTableName();

	$helper = $connection->getSqlHelper();
	$newExternalStatus = $helper->forSql($newExternalStatus);

	$update = "STATUS_ID = $newInternalStatusId, EXTERNAL_STATUS = '$newExternalStatus'";

	$query = "
		UPDATE
			$tableName
		SET
			$update
		WHERE
			ID = $id
			AND STATUS_ID < {$newInternalStatusId}
	";

	$connection->query($query);
	return $connection->getAffectedRowsCount() === 1;
}