- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/sync/managers/outgoingmanager.php
- Класс: BitrixCalendarSyncManagersOutgoingManager
- Вызов: OutgoingManager::fetchSectionEvents
private function fetchSectionEvents(CoreSectionSection $section, array $excludeEventIds = []): Generator
{
$timestamp = time() - self::TIME_SLICE;
$eventList = EventTable::getList([
'select' => [
'*',
'LINK.*',
'LINK.CONNECTION',
],
'filter' => [
'=SECTION_ID' => $section->getId(),
'=DELETED' => 'N',
'!ID' => $excludeEventIds,
'>DATE_TO_TS_UTC' => $timestamp,
'!=MEETING_STATUS' => 'N',
],
'runtime' => [
new ReferenceField(
'LINK',
EventConnectionTable::class,
[
'=this.ID' => 'ref.EVENT_ID',
'ref.CONNECTION_ID' => ['?', $this->connection->getId()],
],
['join_type' => 'LEFT']
),
],
])->fetchCollection();
$eventList = $this->prepareEvents($eventList);
foreach ($eventList as $eventPack)
{
yield $eventPack;
}
}