• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/counter/processor/efficiencyprocessor.php
  • Класс: BitrixTasksInternalsCounterProcessorEfficiencyProcessor
  • Вызов: EfficiencyProcessor::updateEfficiencyForRestored
private function updateEfficiencyForRestored(int $taskId): array
{
	/** @var EventResource $task */
	$task = $this->modifiedData[$taskId];
	$taskMembers = $task->getMembersAsArray();

	$membersMap = array_fill_keys(
		$taskMembers[MemberTable::MEMBER_TYPE_ACCOMPLICE],
		MemberTable::MEMBER_TYPE_ACCOMPLICE
	);
	$membersMap[current($taskMembers[MemberTable::MEMBER_TYPE_RESPONSIBLE])] = MemberTable::MEMBER_TYPE_RESPONSIBLE;

	$taskData = [
		'ID' => $taskId,
		'TITLE' => $task->getTitle(),
		'DEADLINE' => $task->getDeadline(),
		'CREATED_BY' => current($taskMembers[MemberTable::MEMBER_TYPE_ORIGINATOR]),
	];

	$processedMembers = [];
	foreach ($membersMap as $userId => $type)
	{
		Effective::modify($userId, $type, $taskData, $task->getGroupId(), $task->isExpired(), false);
		$processedMembers[$userId] = $userId;
	}

	return $processedMembers;
}