• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/volume/invoice.php
  • Класс: Bitrix\Crm\Volume\Invoice
  • Вызов: Invoice::getStatusSemantics
static function getStatusSemantics($stageIds = array())
{
	static $processStatusIDs;

	if (empty($processStatusIDs))
	{
		$processStatusIDs = array(
			Crm\PhaseSemantics::PROCESS => array(),
			Crm\PhaseSemantics::FAILURE => array(),
			Crm\PhaseSemantics::SUCCESS => array(),
		);
		foreach (array_keys(\CCrmStatus::GetStatusList('INVOICE_STATUS')) as $statusID)
		{
			if (\CCrmInvoice::GetSemanticID($statusID) === Crm\PhaseSemantics::PROCESS)
			{
				$processStatusIDs[Crm\PhaseSemantics::PROCESS][] = $statusID;
			}
			if (\CCrmInvoice::GetSemanticID($statusID) === Crm\PhaseSemantics::FAILURE)
			{
				$processStatusIDs[Crm\PhaseSemantics::FAILURE][] = $statusID;
			}
			if (\CCrmInvoice::GetSemanticID($statusID) === Crm\PhaseSemantics::SUCCESS)
			{
				$processStatusIDs[Crm\PhaseSemantics::SUCCESS][] = $statusID;
			}
		}
	}
	if (count($stageIds) > 0)
	{
		$statuses = array();
		foreach ($stageIds as $stageId)
		{
			if (isset($processStatusIDs[$stageId]))
			{
				$statuses = array_merge($statuses, $processStatusIDs[$stageId]);
			}
		}

		return $statuses;
	}

	return $processStatusIDs;
}