11use Bitrix\Tasks\Internals\SearchIndex;
12use Bitrix\Tasks\Provider\TaskList;
13use Bitrix\Tasks\Provider\TaskQuery;
39 return TaskItem::class;
44 $tasksArray = (
new TaskList())->getList($taskQuery);
46 $linkCollection =
new static();
48 foreach ($tasksArray as $row)
53 return $linkCollection;
56 public static function find(
65 $taskQuery =
new TaskQuery(
$context->getUserId());
70 $taskOrder[
'IM_CHAT_ID'] =
$order[
'ID'];
73 $taskFilter = static::processFilters(
$filter, $taskOrder);
76 ->setSelect(static::SELECT_FIELDS)
77 ->setOrder($taskOrder)
78 ->setWhere($taskFilter)
83 $taskQuery->setLimit($limit);
86 return static::initByTaskQuery($taskQuery);
100 if (!empty($usersIds))
102 $result[
'::SUBFILTER-MEMBER'] = [
104 'CREATED_BY' => $usersIds,
105 'RESPONSIBLE_ID' => $usersIds,
106 'ACCOMPLICE' => $usersIds,
107 'AUDITOR' => $usersIds,
111 if (isset(
$filter[
'DATE_FROM']))
119 if (isset(
$filter[
'SEARCH_TASK_NAME']))
121 $result[
'::SUBFILTER-FULL_SEARCH_INDEX'] = [
122 '*FULL_SEARCH_INDEX' => SearchIndex::prepareStringToSearch(
$filter[
'SEARCH_TASK_NAME'])
128 if (isset(
$order[
'IM_CHAT_ID']) &&
$order[
'IM_CHAT_ID'] ===
'ASC')
140 $chatTasks = LinkTaskTable::query()
141 ->setSelect([
'ID',
'MESSAGE_ID',
'CHAT_ID',
'TASK_ID',
'AUTHOR_ID',
'DATE_CREATE'])
142 ->whereIn(
'MESSAGE_ID',
$messages->getIds())
146 return new static($chatTasks);
151 if (isset($this->entities))
164 foreach ($this as $task)
166 $id = $task->getEntityId();
167 if (!isset($id) || (
$entities->getById($id) ===
null))
172 $task->setEntity(
$entities->getById($id));
static getByIds(array $ids, ?Context $context=null)
static getByMessages(MessageCollection $messages)
static getCollectionElementClass()
EntityCollection $entities
static initByTaskQuery(TaskQuery $taskQuery)
static processFilters(array $filter, array $order)
static find(array $filter, array $order=['ID'=> 'DESC'], ?int $limit=null, ?Context $context=null)
static initByRow(array $row)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)