• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/activity/entity/todo.php
  • Класс: Bitrix\Crm\Activity\Entity\ToDo
  • Вызов: ToDo::getInstanceByParams
static function getInstanceByParams(
	ItemIdentifier $owner,
	array $filter,
	array $order = [],
	array $options = []
): ?ToDo
{
	$data = CCrmActivity::GetList(
		$order,
		$filter,
		false,
		false,
		[
			'ID',
			'COMPLETED',
			'DEADLINE',
			'DESCRIPTION',
			'SUBJECT',
			'RESPONSIBLE_ID',
			'ASSOCIATED_ENTITY_ID',
			'AUTOCOMPLETE_RULE',
			'STORAGE_ELEMENT_IDS',
			'CALENDAR_EVENT_ID',
		],
		$options
	)->Fetch();

	if (!$data)
	{
		return null;
	}

	$todo = new self($owner);
	$todo
		->setId((int)$data['ID'])
		->setDeadline(
			($data['DEADLINE'] && !\CCrmDateTimeHelper::IsMaxDatabaseDate($data['DEADLINE']))
				? DateTime::createFromUserTime($data['DEADLINE'])
				: null
		)
		->setDescription($data['DESCRIPTION'])
		->setSubject($data['SUBJECT'])
		->setResponsibleId($data['RESPONSIBLE_ID'])
		->setParentActivityId($data['ASSOCIATED_ENTITY_ID'] ?: null)
		->setAutocompleteRule($data['AUTOCOMPLETE_RULE'] ?: null)
		->setCompleted($data['COMPLETED'])
		->setCalendarEventId($data['CALENDAR_EVENT_ID'])
		->setStorageElementIds($data['STORAGE_ELEMENT_IDS'] ?: null)
	;

	return $todo;
}