• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/recycling/dynamiccontroller.php
  • Класс: Bitrix\Crm\Recycling\DynamicController
  • Вызов: DynamicController::prepareEntityData
public function prepareEntityData($entityId, array $params = []): array
{
	$fields = (isset($params['FIELDS']) && is_array($params['FIELDS']) ? $params['FIELDS'] : null);

	if(empty($fields))
	{
		throw new Main\ObjectNotFoundException("Could not find entity: #{$entityId}.");
	}

	$slots = ['FIELDS' => $this->filterEntityDataFields($fields)];

	$companyId = (int)($fields['COMPANY_ID'] ?? 0);
	if($companyId > 0)
	{
		$slots['COMPANY_ID'] = $companyId;
	}

	$item = $this->getFactory()->getItem($entityId);
	$contacts = $item->getContactBindings();
	if(!empty($contacts))
	{
		foreach($contacts as $contact)
		{
			$slots['CONTACT_IDS'][] = (int)$contact['CONTACT_ID'];
		}
	}

	$slots = array_merge($slots, $this->prepareActivityData($entityId, $params));

	return [
		'TITLE' => $item->getHeading(),
		'SLOTS' => $slots
	];
}