• Модуль: biconnector
  • Путь к файлу: ~/bitrix/modules/biconnector/lib/service.php
  • Класс: BitrixBIConnectorService
  • Вызов: Service::getTableFields
public function getTableFields($tableName)
{
	$result = [];
	$tableInfo = $this->manager->getTableDescription($tableName, $this->languageId);
	if ($tableInfo)
	{
		foreach ($tableInfo['FIELDS'] as $fieldName => $fieldInfo)
		{
			if (isset($fieldInfo['FIELD_TYPE_EX']))
			{
				$type = $fieldInfo['FIELD_TYPE_EX'];
			}
			else
			{
				$type = $fieldInfo['FIELD_TYPE'];
			}

			$result[] = [
				'CONCEPT_TYPE' => (isset($fieldInfo['IS_METRIC']) && $fieldInfo['IS_METRIC'] === 'Y' ? 'METRIC' : 'DIMENSION'),
				'ID' => $fieldName,
				'NAME' => $fieldInfo['FIELD_DESCRIPTION'],
				'DESCRIPTION' => $fieldInfo['FIELD_DESCRIPTION_FULL'] ?? '',
				'TYPE' => $this->mapType($type),
				'AGGREGATION_TYPE' => $fieldInfo['AGGREGATION_TYPE'] ?? null,
				'IS_PRIMARY' => $fieldInfo['IS_PRIMARY'] ?? null,
				'CONCAT_GROUP_BY' => $fieldInfo['CONCAT_GROUP_BY'] ?? null,
				'CONCAT_KEY' => $fieldInfo['CONCAT_KEY'] ?? null,
			];
		}
	}
	return $result;
}