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