- Модуль: 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];
}