• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/tracking/internals/trace.php
  • Класс: Bitrix\Crm\Tracking\Internals\TraceTable
  • Вызов: TraceTable::onDelete
static function onDelete(ORM\Event $event)
{
	$data = $event->getParameters();
	$traceId = $data['primary']['ID'];

	$entities = TraceEntityTable::getList([
		'select' => ['ID'],
		'filter' => ['=TRACE_ID' => $traceId]
	]);
	while ($row = $entities->fetch())
	{
		TraceEntityTable::delete($row['ID']);
	}

	$entities = TraceChannelTable::getList([
		'select' => ['ID'],
		'filter' => ['=TRACE_ID' => $traceId]
	]);
	while ($row = $entities->fetch())
	{
		TraceChannelTable::delete($row['ID']);
	}

	$childTraces = TraceTreeTable::getList([
		'select' => ['ID'],
		'filter' => ['=PARENT_ID' => $traceId]
	]);
	while ($row = $childTraces->fetch())
	{
		TraceTreeTable::delete($row['ID']);
	}

	return new ORM\EventResult();
}