• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/integration/bizproc/automation/target/plantask.php
  • Класс: BitrixTasksIntegrationBizprocAutomationTargetPlanTask
  • Вызов: PlanTask::setDocumentStatus
public function setDocumentStatus($statusId)
{
	$planId = DocumentTask::resolvePlanId($this->getDocumentType()[2]);

	$stages = TasksKanbanTaskStageTable::getList(array(
		'select' => ['ID', 'STAGE_ID'],
		'filter' => array(
			'=TASK_ID' => $this->getDocumentId(),
			'=STAGE.ENTITY_TYPE' => TasksKanbanStagesTable::WORK_MODE_USER,
			'=STAGE.ENTITY_ID' => $planId
		)
	))->fetchAll();

	if (in_array($statusId, array_column($stages, 'STAGE_ID')))
	{
		return;
	}

	foreach ($stages as $stage)
	{
		TasksKanbanTaskStageTable::update($stage['ID'], ['STAGE_ID' => $statusId]);

		TasksIntegrationBizprocListener::onPlanTaskStageUpdate(
			$planId,
			$this->getDocumentId(),
			$statusId
		);
	}
}