• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar_event.php
  • Класс: CCalendarEvent
  • Вызов: CCalendarEvent::UpdateParentEventExDate
static function UpdateParentEventExDate($recurrenceId, $exDate, $attendeeIds)
{
	global $DB, $CACHE_MANAGER;
	$parameters = [
		'select' => [
			'EXDATE',
		],
		'filter' => [
			'=PARENT_ID' => $recurrenceId,
		],
		'limit' => 1,
	];

	$exDates = InternalsEventTable::getList($parameters)->fetchAll();
	$exDates = self::GetExDate($exDates[0]['EXDATE']);
	$exDates[] = date(
		ExcludedDatesCollection::EXCLUDED_DATE_FORMAT,
		CCalendar::Timestamp($exDate)
	);
	$exDates = array_unique($exDates);
	$strExDates = implode(';', $exDates);

	$strSql =
		"UPDATE b_calendar_event SET ".
		$DB->PrepareUpdate("b_calendar_event", array('EXDATE' => $strExDates)).
		" WHERE PARENT_ID=". (int)$recurrenceId;
	$DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); if (is_array($attendeeIds)) { foreach ($attendeeIds as $id) { $CACHE_MANAGER->ClearByTag('calendar_user_' . $id); } } return true; }