- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/rest/configuration/entity/detailconfiguration.php
- Класс: Bitrix\Crm\Integration\Rest\Configuration\Entity\DetailConfiguration
- Вызов: DetailConfiguration::export
public function export($option)
{
if(!Helper::checkAccessManifest($option, $this->accessManifest))
{
return null;
}
$step = false;
if(array_key_exists('STEP', $option))
{
$step = $option['STEP'];
}
$keys = $this->exportDetailConfigurationList();
$typeEntity = $keys[$step]?:'';
$return = [
'FILE_NAME' => $typeEntity,
'CONTENT' => [],
'NEXT' => count($keys) > $step+1 ? $step : false
];
if(!empty($this->entityTypeDetailConfiguration[$typeEntity]))
{
global $USER;
$extras = [];
$config = new EntityEditorConfig(
$this->entityTypeDetailConfiguration[$typeEntity]['ID'],
$USER->GetID(),
$this->entityTypeDetailConfiguration[$typeEntity]['SCOPE'],
$extras
);
try
{
$return['CONTENT'] = [
'ENTITY' => $typeEntity,
'DATA' => $config->get()
];
}
catch (Exception $e)
{
}
}
elseif(mb_strpos($typeEntity,'DEAL') !== false || mb_strpos($typeEntity,'LEAD') !== false)
{
list($entity, $id) = explode('_', $typeEntity,2);
if($this->entityTypeDetailConfiguration[$entity])
{
global $USER;
$id = intVal($id);
if(mb_strpos($typeEntity,'DEAL') !== false)
{
$extras = [
'DEAL_CATEGORY_ID' => $id
];
}
else
{
$extras = [
'LEAD_CUSTOMER_TYPE' => $id
];
}
$config = new EntityEditorConfig(
$this->entityTypeDetailConfiguration[$entity]['ID'],
$USER->GetID(),
$this->entityTypeDetailConfiguration[$entity]['SCOPE'],
$extras
);
if($id > 0)
{
if($extras['DEAL_CATEGORY_ID'])
{
$category = array_column(DealCategory::getAll(false), null, 'ID');
if(!empty($category[$id]))
{
$return['CONTENT'] = [
'ENTITY' => $typeEntity,
'DATA' => $config->get()
];
}
}
else
{
$return['CONTENT'] = [
'ENTITY' => $typeEntity,
'DATA' => $config->get()
];
}
}
}
}
return $return;
}