- Модуль: 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;
}