• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sharing/crm/activitymanager.php
  • Класс: BitrixCalendarSharingCrmActivityManager
  • Вызов: ActivityManager::completeSharedCrmActivity
public function completeSharedCrmActivity(?string $status): bool
{
	if (!$this->isAvailable())
	{
		return false;
	}

	$activity = CCrmActivity::GetByCalendarEventId($this->eventId, false);

	if (!$activity)
	{
		return false;
	}

	$crmStatus = null;
	switch ($status)
	{
		case self::STATUS_MEETING_NOT_HELD:
			$crmStatus = ActivityHandler::SHARING_STATUS_MEETING_NOT_HELD;
			break;
		case self::STATUS_CANCELED_BY_MANAGER:
			$crmStatus = ActivityHandler::SHARING_STATUS_CANCELED_BY_MANAGER;
			break;
		case self::STATUS_CANCELED_BY_CLIENT:
			$crmStatus = ActivityHandler::SHARING_STATUS_CANCELED_BY_CLIENT;
			break;
	}

	(new ActivityHandler($activity, $activity['OWNER_TYPE_ID'], $activity['OWNER_ID']))
		->completeWithStatus($crmStatus);

	return true;
}