• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/model/queue.php
  • Класс: BitrixImOpenLinesModelQueueTable
  • Вызов: QueueTable::OnUpdate
static function OnUpdate(Event $event): EventResult
{
	$result = new EventResult;
	$userQueueId = $event->getParameters()['primary']['ID'];
	$fields = $event->getParameters()['fields'];

	if(
		isset($fields['CONFIG_ID'])
		|| isset($fields['USER_ID'])
		|| isset($fields['DEPARTMENT_ID'])
		|| isset($fields['USER_NAME'])
		|| isset($fields['USER_WORK_POSITION'])
		|| isset($fields['USER_AVATAR'])
		|| isset($fields['USER_AVATAR_ID'])
	)
	{
		$data = self::getList([
			'select' => [
				'CONFIG_ID',
				'USER_ID'
			],
			'filter' => [
				'=ID' => $userQueueId
			]
		])->fetch();

		if(!empty($data['USER_ID']))
		{
			$cache = new Cache();
			$cache->setUserId($data['USER_ID']);

			if(!empty($data['CONFIG_ID']))
			{
				$cache->setLineId($data['CONFIG_ID']);
			}

			$cache->delete();
		}
	}

	return $result;
}