• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/component/entitydetails/factorybased.php
  • Класс: Bitrix\Crm\Component\EntityDetails\FactoryBased
  • Вызов: FactoryBased::getEditorEntityConfig
public function getEditorEntityConfig(): array
{
	$sectionMain = [
		'name' => 'main',
		'title' => Loc::getMessage('CRM_COMPONENT_FACTORYBASED_EDITOR_MAIN_SECTION_TITLE'),
		'type' => 'section',
		'elements' => [],
	];

	$skipFields = ($this->arParams['skipFields'] ?? []);
	if ($this->factory->isStagesEnabled() && !in_array(Item::FIELD_NAME_STAGE_ID, $skipFields, true))
	{
		$sectionMain['elements'][] = ['name' => Item::FIELD_NAME_STAGE_ID];
	}

	if ($this->factory->isLinkWithProductsEnabled())
	{
		$sectionMain['elements'][] = ['name' => EditorAdapter::FIELD_OPPORTUNITY];
	}

	$sectionMain['elements'][] = ['name' => Item::FIELD_NAME_TITLE];

	$sections[] = $sectionMain;

	$sectionAdditional = [
		'name' => 'additional',
		'title' => Loc::getMessage('CRM_TYPE_ITEM_EDITOR_SECTION_ADDITIONAL'),
		'type' => 'section',
		'elements' => [],
	];

	foreach ($this->prepareEntityUserFields() as $fieldName => $userField)
	{
		$sectionAdditional['elements'][] = [
			'name' => $fieldName,
		];
	}

	$sections[] = $sectionAdditional;

	if ($this->factory->isLinkWithProductsEnabled())
	{
		$sections[] = [
			'name' => 'products',
			'title' => Loc::getMessage('CRM_COMMON_PRODUCTS'),
			'type' => 'section',
			'elements' => [
				['name' => EditorAdapter::FIELD_PRODUCT_ROW_SUMMARY],
			],
		];
	}

	return $sections;
}