• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/tracking/ad/index/indexbuilder.php
  • Класс: Bitrix\Crm\Tracking\Ad\Index\IndexBuilder
  • Вызов: IndexBuilder::addChild
private function addChild($level, $code, $title = '--', $parentId = 0)
{
	$title = $title ?: '--';
	$row = Tracking\Internals\SourceChildTable::getRow([
		'select' => ['ID', 'TITLE'],
		'filter' => [
			'=SOURCE_ID' => $this->sourceId,
			'=CODE' => $code,
			'=PARENT_ID' => $parentId,

		],
	]);
	if ($row)
	{
		if ($row['TITLE'] !== $title)
		{
			Tracking\Internals\SourceChildTable::update($row['ID'], ['TITLE' => $title]);
		}
		return $row['ID'];
	}
	else
	{
		$result = Tracking\Internals\SourceChildTable::add([
			'SOURCE_ID' => $this->sourceId,
			'CODE' => $code,
			'LEVEL' => $level,
			'TITLE' => $title,
			'PARENT_ID' => $parentId,
		]);
		return $result->getId();
	}

}