• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/rest/entity/property.php
  • Класс: BitrixSaleRestEntityProperty
  • Вызов: Property::getFieldsByType
public function getFieldsByType($type)
{
	$filterMap = [
		self::PROPERTY_TYPE_STRING => function ($k)
		{
			return (
				is_set($this->getFieldsByTypeLocation(), $k) === false
				&& is_set($this->getFieldsByTypeAddress(), $k) === false
			);
		},
		self::PROPERTY_TYPE_LOCATION => function ($k)
		{
			return (
				is_set($this->getFieldsByTypeString(), $k) === false
				&& is_set($this->getFieldsByTypeAddress(), $k) === false
			);
		},
		self::PROPERTY_TYPE_ADDRESS => function ($k)
		{
			return (
				is_set($this->getFieldsByTypeString(), $k) === false
				&& is_set($this->getFieldsByTypeLocation(), $k) === false
			);
		},
		'DEFAULT' => function ($k)
		{
			return (
				is_set($this->getFieldsByTypeString(), $k) === false
				&& is_set($this->getFieldsByTypeLocation(), $k) === false
				&& is_set($this->getFieldsByTypeAddress(), $k) === false
			);
		},
	];

	$filter = isset($filterMap[$type]) ? $filterMap[$type] : $filterMap['DEFAULT'];

	$r = array_filter($this->getFields(), $filter, ARRAY_FILTER_USE_KEY);

	$r['SETTINGS']['FIELDS'] = $this->getFieldsSettingsByType($type);

	return $r;
}