• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/volume/base.php
  • Класс: Bitrix\Crm\Volume\Base
  • Вызов: Base::loadUserFieldInformation
static function loadUserFieldInformation()
{
	$entityList = static::getEntityList();

	foreach ($entityList as $entity)
	{
		if (isset(self::$userFieldInformation[$entity]))
		{
			continue;
		}
		self::$userFieldInformation[$entity] = false;

		try
		{
			$reflection = new \ReflectionClass($entity);
			if (
				!$reflection->isInterface() &&
				!$reflection->isAbstract() &&
				$reflection->isSubclassOf(ORM\Data\DataManager::class)
			)
			{
				/** @var ORM\Data\DataManager $entity */
				$ufName = $entity::getUfId();
				if ($ufName <> '')
				{
					$userFieldList = Main\UserFieldTable::getList(array(
						'filter' => array(
							'=ENTITY_ID' => $ufName,
						),
						'select' => array(
							'ID',
							'ENTITY_ID',
							'USER_TYPE_ID',
							'FIELD_NAME',
							'MULTIPLE',
							'XML_ID',
						),
					));
					if ($userFieldList->getSelectedRowsCount() > 0)
					{
						self::$userFieldInformation[$entity] = array();
						foreach ($userFieldList as $userField)
						{
							self::$userFieldInformation[$entity][$userField['FIELD_NAME']] = $userField;
						}
					}
				}
			}
		}
		catch (\ReflectionException $exception)
		{
		}
	}
}