• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/volume/module/module.php
  • Класс: BitrixDiskVolumeModuleModule
  • Вызов: Module::getUserTypeFieldList
public function getUserTypeFieldList(
	string $entityClass,
	array $userTypeField = [CUserTypeFile::USER_TYPE_ID, DiskUfFileUserType::USER_TYPE_ID, DiskUfVersionUserType::USER_TYPE_ID]
): array
{
	static $fields = [];

	if (!isset($fields[$entityClass]))
	{
		$fields[$entityClass] = [];

		/** @var MainORMDataDataManager $entityClass */
		$ufName = $entityClass::getUfId();
		if ($ufName <> '' && count($userTypeField) > 0)
		{
			$filter = [
				'=ENTITY_ID'    => $ufName,
				'=USER_TYPE_ID' => (count($userTypeField) == 1 ? $userTypeField[0] : $userTypeField),
			];
			$userFieldList = MainUserFieldTable::getList([
				'filter' => $filter,
				'select' => [
					'ID',
					'ENTITY_ID',
					'USER_TYPE_ID',
					'FIELD_NAME',
					'MULTIPLE',
					'XML_ID',
				],
			]);
			foreach ($userFieldList as $userField)
			{
				$fields[$entityClass][$userField['FIELD_NAME']] = $userField;
			}
		}
	}

	return $fields[$entityClass];
}