FieldAttributeManager::getList

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. FieldAttributeManager
  4. getList
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/attribute/fieldattributemanager.php
  • Класс: Bitrix\Crm\Attribute\FieldAttributeManager
  • Вызов: FieldAttributeManager::getList
static function getList(
	int $entityTypeId,
	string $entityScope,
	?int $fieldOrigin = FieldOrigin::UNDEFINED,
	?int $typeId = FieldAttributeType::REQUIRED
): array
{
	static $list = [];

	$staticKey = ($entityTypeId . '-' . $entityScope . '-' . $fieldOrigin . '-' . $typeId);
	if (!isset($list[$staticKey]))
	{
		$query = new Main\Entity\Query(Entity\FieldAttributeTable::getEntity());
		$query->addSelect('ENTITY_TYPE_ID');
		$query->addSelect('FIELD_NAME');
		$query->addSelect('START_PHASE');
		$query->addSelect('FINISH_PHASE');
		$query->addSelect('IS_CUSTOM_FIELD');

		$query->addFilter('=ENTITY_TYPE_ID', $entityTypeId);
		$query->addFilter('=ENTITY_SCOPE', $entityScope);
		if($fieldOrigin > 0)
		{
			$query->addFilter('=IS_CUSTOM_FIELD', $fieldOrigin === FieldOrigin::CUSTOM ? 'Y' : 'N');
		}
		if($typeId > 0)
		{
			$query->addFilter('=TYPE_ID', $typeId);
		}

		$query->setCacheTtl(self::CACHE_TTL);

		$list[$staticKey] = $query->exec()->fetchAll();
	}
	return $list[$staticKey];
}

Добавить комментарий