- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Service/EventHistory.php
- Класс: Bitrix\Crm\Service\EventHistory
- Вызов: EventHistory::registerRelation
private function registerRelation(
int $eventType,
TrackedObject $parent,
TrackedObject $child,
Context $context = null
): Result
{
$event = $this->createEventTableRecord($eventType, $context);
$result = $this->saveRecord($event, []);
if (!$result->isSuccess())
{
return $result;
}
$relationParent = $this->createEventRelationsTableRecord($event->getId(), $context);
$relationParent
->setEntityType($parent->getEntityType())
->setEntityId($parent->getEntityId())
;
$relationChild = $this->createEventRelationsTableRecord($event->getId(), $context);
$relationChild
->setEntityType($child->getEntityType())
->setEntityId($child->getEntityId())
;
foreach ([$relationParent, $relationChild] as $record)
{
$relationResult = $this->saveRecord($record, []);
if (!$relationResult->isSuccess())
{
$result->addErrors($relationResult->getErrors());
}
}
return $result;
}