• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/product/systemfield/markingcodegroup.php
  • Класс: BitrixCatalogProductSystemFieldMarkingCodeGroup
  • Вызов: MarkingCodeGroup::getHighloadblockFields
static function getHighloadblockFields(): array
{
	$result = [];

	$fieldSettings = [
		'XML_ID' => [
			'DEFAULT_VALUE' => '',
			'SIZE' => 16,
			'ROWS' => 1,
			'MIN_LENGTH' => 0,
			'MAX_LENGTH' => 0,
			'REGEXP' => '/^[0-9]{1,16}$/'
		],
		'NAME' => [
			'DEFAULT_VALUE' => '',
			'SIZE' => 100,
			'ROWS' => 1,
			'MIN_LENGTH' => 1,
			'MAX_LENGTH' => 255,
			'REGEXP' => ''
		]
	];

	$sort = 100;
	foreach (array_keys($fieldSettings) as $fieldId)
	{
		$messageList = static::getMessages(
			__FILE__,
			[
				'EDIT_FORM_LABEL' => 'MARKING_CODE_GROUP_UF_FIELD_'.$fieldId,
				'LIST_COLUMN_LABEL' => 'MARKING_CODE_GROUP_UF_FIELD_'.$fieldId,
				'LIST_FILTER_LABEL' => 'MARKING_CODE_GROUP_UF_FIELD_'.$fieldId
			]
		);

		$result[] = [
			'FIELD_NAME' => static::getUserFieldName($fieldId),
			'USER_TYPE_ID' => MainUserFieldTypesStringType::USER_TYPE_ID,
			'XML_ID' => $fieldId,
			'SORT' => $sort,
			'MULTIPLE' => 'N',
			'MANDATORY' => 'Y',
			'SHOW_FILTER' => 'S',
			'SHOW_IN_LIST' => 'Y',
			'EDIT_IN_LIST' => 'Y',
			'IS_SEARCHABLE' => 'N',
			'SETTINGS' => $fieldSettings[$fieldId],
		] + $messageList;
		$sort += 100;
	}

	return $result;
}