• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/crm/common.php
  • Класс: BitrixImOpenLinesCrmCommon
  • Вызов: Common::get
static function get($type, $id, $withMultiFields = false)
{
	$data = false;
	$entity = null;

	if (Loader::includeModule('crm'))
	{
		if ($type === Crm::ENTITY_LEAD)
		{
			$entity = new CCrmLead(false);
		}
		elseif ($type === Crm::ENTITY_COMPANY)
		{
			$entity = new CCrmCompany(false);
		}
		elseif ($type === Crm::ENTITY_CONTACT)
		{
			$entity = new CCrmContact(false);
		}
		elseif ($type === Crm::ENTITY_DEAL)
		{
			$entity = new CCrmDeal(false);
		}

		if (!empty($entity))
		{
			$data = $entity->GetByID($id, false);

			if ($withMultiFields && $type != Crm::ENTITY_DEAL)
			{
				$multiFields = new CCrmFieldMulti();
				$res = $multiFields->GetList([], [
					'ENTITY_ID' => $type,
					'ELEMENT_ID' => $id
				]);
				while ($row = $res->Fetch())
				{
					$data['FM'][$row['TYPE_ID']][$row['VALUE_TYPE']][] = $row['VALUE'];
				}


			}

			$assignedId = (int)$data['ASSIGNED_BY_ID'];

			if (
				Loader::includeModule('im')
				&& (
					!ImUser::getInstance($assignedId)->isActive()
					|| ImUser::getInstance($assignedId)->isAbsent()
				)
			)
			{
				$data['ASSIGNED_BY_ID'] = 0;
			}
		}
	}

	return $data;
}