• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/attribute/fieldattributemanager.php
  • Класс: Bitrix\Crm\Attribute\FieldAttributeManager
  • Вызов: FieldAttributeManager::getFieldAttributes
static function getFieldAttributes(int $entityTypeID, string $entityScope):array
{
	$query = new Main\Entity\Query(FieldAttributeTable::getEntity());
	//$query->addSelect('ID');
	$query->addSelect('TYPE_ID');
	//$query->addSelect('IS_CUSTOM_FIELD');
	$query->addSelect('FIELD_NAME');
	$query->addSelect('START_PHASE');
	$query->addSelect('FINISH_PHASE');
	$query->addSelect('PHASE_GROUP_TYPE_ID');

	$query->addFilter('=ENTITY_TYPE_ID', $entityTypeID);
	$query->addFilter('=ENTITY_SCOPE', $entityScope);

	$results = array();
	$dbResult = $query->exec();
	while($fields = $dbResult->fetch())
	{
		$fieldName = $fields['FIELD_NAME'];
		$typeID = $fields['TYPE_ID'];
		$phaseGroupTypeID = $fields['PHASE_GROUP_TYPE_ID'];

		if(!isset($results[$fieldName]))
		{
			$results[$fieldName] = array();
		}

		if(!isset($results[$fieldName][$typeID]))
		{
			$results[$fieldName][$typeID] = array();
		}

		if(!isset($results[$fieldName][$typeID][$phaseGroupTypeID]))
		{
			$results[$fieldName][$typeID][$phaseGroupTypeID] = array();
		}

		$results[$fieldName][$typeID][$phaseGroupTypeID][] = array(
			'startPhaseId' => $fields['START_PHASE'],
			'finishPhaseId' => $fields['FINISH_PHASE']
		);
	}
	return $results;
}