• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/crm/common.php
  • Класс: BitrixImOpenLinesCrmCommon
  • Вызов: Common::getActivityBindings
static function getActivityBindings($id): Result
{
	$result = new Result();

	if (!Loader::includeModule('crm'))
	{
		$result->addError(new Error(Loc::getMessage('IMOL_CRM_ERROR_NOT_LOAD_CRM'), Crm::ERROR_IMOL_NOT_LOAD_CRM, __METHOD__));
	}
	else
	{
		$id = intval($id);
		$bindings = [
			CCrmOwnerType::LeadName => 0,
			CCrmOwnerType::ContactName => 0,
			CCrmOwnerType::CompanyName => 0,
			CCrmOwnerType::DealName => 0
		];

		if ($id > 0)
		{
			$bindingsCRM = CAllCrmActivity::GetBindings($id);

			foreach ($bindingsCRM as $item)
			{
				$type = CCrmOwnerType::ResolveName($item['OWNER_TYPE_ID']);

				switch ($type)
				{
					case CCrmOwnerType::LeadName:
					case CCrmOwnerType::ContactName:
					case CCrmOwnerType::CompanyName:
					case CCrmOwnerType::DealName:
						if($bindings[$type] == 0 || $bindings[$type] > $item['OWNER_ID'])
						{
							$bindings[$type] = $item['OWNER_ID'];
						}
						break;

					default:

						break;
				}

			}

			$result->setData($bindings);
		}
		else
		{
			$result->addError(new Error(Loc::getMessage('IMOL_CRM_ERROR_NO_ID_ACTIVITY'), Crm::ERROR_IMOL_CRM_NO_ID_ACTIVITY, __METHOD__, $id));
		}
	}

	return $result;
}