• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/managers/synchronization.php
  • Класс: BitrixCalendarSyncManagersSynchronization
  • Вызов: Synchronization::getEventExceptionsMap
private function getEventExceptionsMap(Event $event): CoreBaseMap
{
	$mapClass = CoreEventEventMap::class;
	$result = new $mapClass;

	$queryResult = EventTable::query()
		->setSelect(['*'])
		->where('RECURRENCE_ID', $event->getParentId())
		->where('DELETED', 'N')
		->where('OWNER_ID', $event->getOwner()->getId())
		->where(Query::filter()
		->logic('or')
			->whereNot('MEETING_STATUS', 'N')
			->whereNull('MEETING_STATUS')
		)
		->whereNotNull('ORIGINAL_DATE_FROM')
		->exec()
	;
	/** @var Event $row */
	while ($row = $queryResult->fetchObject())
	{
		$eventEntity = $this->mapperFactory->getEvent()->getByEntityObject($row);
		if ($eventEntity)
		{
			$result->add($eventEntity, $eventEntity->getId());
		}
	}

	return $result;
}