• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/sync/managers/outgoingsectionmanager.php
  • Класс: BitrixCalendarSyncManagersOutgoingSectionManager
  • Вызов: OutgoingSectionManager::safeCreate
private function safeCreate(CoreSectionSection $section): SyncUtilResult
{
	$result = new Result();
	$counter = 0;
	$originalName = $section->getName();
	$sectionManager = $this->factory->getSectionManager();
	do
	{
		try
		{
			$result = $sectionManager->create($section, new SyncUtilSectionContext([]));
			$success = true;
		}
		catch (ConflictException $e)
		{
			$counter++;
			$section->setName($originalName . " ($counter)");
			$success = false;
		}
	}
	while (!$success);

	$section->setName($originalName);

	return $result;
}