• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/managers/vendordataexchangemanager.php
  • Класс: BitrixCalendarSyncManagersVendorDataExchangeManager
  • Вызов: VendorDataExchangeManager::removeDeprecatedInstances
private function removeDeprecatedInstances(
	SyncEntitiesSyncEvent $existsExternalSyncEvent,
	SyncEntitiesSyncEvent $syncEvent
): void
{
	if ($existsExternalSyncEvent->hasInstances())
	{
		/** @var SyncEntitiesSyncEvent $oldInstance */
		foreach ($existsExternalSyncEvent->getInstanceMap() as $key => $oldInstance)
		{
			if (!$syncEvent->hasInstances() || empty($syncEvent->getInstanceMap()->getItem($key)))
			{
				$this->eventConnectionMapper->delete($oldInstance->getEventConnection(), ['softDelete' => false]);
				$this->eventMapper->delete($oldInstance->getEvent(), [
					'softDelete' => false,
					'originalFrom' => $syncEvent->getEventConnection()?->getConnection()->getVendor()->getCode(),
					'recursionMode' => 'this',
				]);
			}
		}
	}
}