• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/managers/incomingmanager.php
  • Класс: BitrixCalendarSyncManagersIncomingManager
  • Вызов: IncomingManager::deleteInstance
private function deleteInstance(string $vendorId): Result
{
	$result = new Result();
	$linkData = EventConnectionTable::query()
		->setSelect(['*', 'EVENT'])
		->addFilter('CONNECTION_ID', $this->connection->getId())
		->addFilter('=VENDOR_EVENT_ID', $vendorId)
		->exec()->fetchObject();

	if ($linkData)
	{
		if (!CCalendarEvent::Delete([
			'id' => $linkData->getEventId(),
			'userId' => $this->connection->getOwner()->getId(),
			'bMarkDeleted' => true,
			'originalFrom' => $this->connection->getVendor()->getCode(),
		]))
		{
			$result->addError(new Error('Error of delete event'));
			$result->setData(['eventId' => $linkData->getEventId()]);
		}
	}
	else
	{
		$result->addError(new Error('Event not found'));
	}

	return $result;
}