• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Factory/Order.php
  • Класс: Bitrix\Crm\Service\Factory\Order
  • Вызов: Order::getFieldsSettings
protected function getFieldsSettings(): array
{
	$result = [];

	$orderFields = \Bitrix\Crm\Order\Order::getFieldsDescription();

	$specialTypes = [
		'USER_ID' => 'user',
		'CURRENCY' => 'crm_currency',
		'COMPANY_ID' => 'crm_company',
		'CREATED_BY' => 'user',
		'RESPONSIBLE_ID' => 'user',
		'LOCKED_BY' => 'user',
		'EMP_PAYED_ID' => 'user',
		'EMP_DEDUCTED_ID' => 'user',
		'EMP_STATUS_ID' => 'user',
		'EMP_MARKED_ID' => 'user',
		'EMP_CANCELED_ID' => 'user',
	];

	$ignoredFields = [
		'SEARCH_CONTENT',
	];

	/** @var \Bitrix\Main\ORM\Fields\Field $field */
	foreach ($orderFields as $field)
	{
		$fieldName = $field['CODE'];
		if (in_array($fieldName, $ignoredFields, true))
		{
			continue;
		}

		$result[$fieldName] = [
			'TYPE' => $specialTypes[$fieldName] ?? $field['TYPE'],
		];
	}

	return $result;
}