• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/lead.php
  • Класс: Bitrix\Crm\LeadTable
  • Вызов: LeadTable::ensureStatusesLoaded
static function ensureStatusesLoaded()
{
	if(self::$STATUS_INIT)
	{
		return;
	}

	global $DB;

	$convertStatus = null;
	$arStatuses = array();
	$rsStatuses = $DB->Query('SELECT STATUS_ID, SORT FROM b_crm_status WHERE ENTITY_ID = \'STATUS\'');
	while($arStatus = $rsStatuses->Fetch())
	{
		if(!$convertStatus && strval($arStatus['STATUS_ID']) === 'CONVERTED')
		{
			$convertStatus = $arStatus;
			continue;
		}

		$arStatuses[$arStatus['STATUS_ID']] = $arStatus;
	}

	self::$WORK_STATUSES = array();
	self::$REJECT_STATUSES = array();

	if($convertStatus)
	{
		$convertStatusSort = intval($convertStatus['SORT']);
		foreach($arStatuses as $statusID => $arStatus)
		{
			$sort = intval($arStatus['SORT']);
			if($sort < $convertStatusSort)
			{
				self::$WORK_STATUSES[] = '\''.$DB->ForSql($statusID).'\'';
			}
			elseif($sort > $convertStatusSort)
			{
				self::$REJECT_STATUSES[] = '\''.$DB->ForSql($statusID).'\'';
			}
		}
	}

	self::$STATUS_INIT = true;
}