static function TryGetInfo($typeID, $ID, &$info, $bCheckPermissions = false)
{
$typeID = intval($typeID);
$ID = intval($ID);
if($ID <= 0)
{
return array();
}
$result = null;
switch($typeID)
{
case self::Lead:
{
$dbRes = CCrmLead::GetListEx(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => ($bCheckPermissions ? 'Y' : 'N')), false, false, array('TITLE'));
$arRes = $dbRes ? $dbRes->Fetch() : null;
if(is_array($arRes))
{
$info = array(
'CAPTION' => isset($arRes['TITLE']) ? $arRes['TITLE'] : '',
'IMAGE_ID' => 0
);
return true;
}
break;
}
case self::Contact:
{
$dbRes = CCrmContact::GetListEx(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => ($bCheckPermissions ? 'Y' : 'N')), false, false, array('HONORIFIC', 'NAME', 'SECOND_NAME', 'LAST_NAME', 'PHOTO'));
$arRes = $dbRes ? $dbRes->Fetch() : null;
if(is_array($arRes))
{
$info = array(
'CAPTION' => CCrmContact::PrepareFormattedName($arRes),
'IMAGE_ID' => isset($arRes['PHOTO']) ? intval($arRes['PHOTO']) : 0
);
return true;
}
break;
}
case self::Company:
{
$dbRes = CCrmCompany::GetListEx(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => ($bCheckPermissions ? 'Y' : 'N')), false, false, array('TITLE', 'LOGO'));
$arRes = $dbRes ? $dbRes->Fetch() : null;
if(is_array($arRes))
{
$info = array(
'CAPTION' => isset($arRes['TITLE']) ? $arRes['TITLE'] : '',
'IMAGE_ID' => isset($arRes['LOGO']) ? intval($arRes['LOGO']) : 0
);
return true;
}
break;
}
case self::Deal:
{
$dbRes = CCrmDeal::GetListEx(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => ($bCheckPermissions ? 'Y' : 'N')), false, false, array('TITLE'));
$arRes = $dbRes ? $dbRes->Fetch() : null;
if(is_array($arRes))
{
$info = array(
'CAPTION' => isset($arRes['TITLE']) ? $arRes['TITLE'] : '',
'IMAGE_ID' => 0
);
return true;
}
break;
}
case self::Invoice:
{
$dbRes = CCrmInvoice::GetList(array(), array('ID' => $ID), false, false, array('ORDER_TOPIC'));
$arRes = $dbRes ? $dbRes->Fetch() : null;
if(is_array($arRes))
{
$info = array(
'CAPTION' => isset($arRes['ORDER_TOPIC']) ? $arRes['ORDER_TOPIC'] : '',
'IMAGE_ID' => 0
);
return true;
}
break;
}
case self::Quote:
{
$dbRes = CCrmQuote::GetList(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => ($bCheckPermissions ? 'Y' : 'N')), false, false, array('TITLE'));
$arRes = $dbRes ? $dbRes->Fetch() : null;
if(is_array($arRes))
{
$info = array(
'CAPTION' => isset($arRes['TITLE']) ? $arRes['TITLE'] : '',
'IMAGE_ID' => 0
);
return true;
}
break;
}
case self::Order:
{
$caption = self::GetCaption($typeID, $ID);
if (!empty($caption))
{
$info = array(
'CAPTION' => $caption,
'IMAGE_ID' => 0
);
return true;
}
break;
}
case self::StoreDocument:
case self::ShipmentDocument:
{
$caption = self::GetCaption($typeID, $ID);
if (!empty($caption))
{
$info = [
'CAPTION' => $caption,
'IMAGE_ID' => 0,
];
return true;
}
break;
}
}
if (static::isUseDynamicTypeBasedApproach($typeID))
{
$caption = static::GetCaption($typeID, $ID);
if (!empty($caption))
{
$info = [
'CAPTION' => $caption,
'IMAGE_ID' => 0,
];
return true;
}
}
return false;
}