• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/requisite/importhelper.php
  • Класс: Bitrix\Crm\Requisite\ImportHelper
  • Вызов: ImportHelper::getRequisiteDemoData
static function getRequisiteDemoData($entityTypeId, $exportHeaders, $presetId)
{
	$result = array();

	if ($entityTypeId !== \CCrmOwnerType::Contact && $entityTypeId !== \CCrmOwnerType::Company)
		return $result;

	$presetId = (int)$presetId;
	if ($presetId <= 0)
		return $result;

	$presetName = '';
	$countryId = 0;

	$preset = EntityPreset::getSingleInstance();
	$res = $preset->getList(array(
		'filter' => array(
			'=ENTITY_TYPE_ID' => EntityPreset::Requisite,
			'=ID' => $presetId,
			'=ACTIVE' => 'Y'
		),
		'select' => array('ID', 'NAME', 'COUNTRY_ID'),
		'limit' => 1
	));
	if ($row = $res->fetch())
	{
		$presetName = isset($row['NAME']) ? $row['NAME'] : '';
		$countryId = isset($row['COUNTRY_ID']) ? (int)$row['COUNTRY_ID'] : 0;
	}
	unset($res, $row);

	if (!is_string($presetName) || $presetName == '' || $countryId <= 0)
		return $result;

	$allowedCountries = EntityRequisite::getAllowedRqFieldCountries();
	$countryList = EntityPreset::getCountryList();
	if (!isset($countryList[$countryId]) || !in_array($countryId, $allowedCountries, true))
		return $result;
	$countryName = $countryList[$countryId];
	unset($allowedCountries, $countryList);

	$demoRequisiteData = DemoData::getRequisiteImpotDemoData(array($entityTypeId), array($countryId));
	if (!is_array($demoRequisiteData[$countryId]) || !is_array($demoRequisiteData[$countryId][$entityTypeId]))
		return $result;

	$demoRequisiteData = $demoRequisiteData[$countryId][$entityTypeId];
	$requisiteId = $bankDetailId = 0;
	$rqSortNum = 500;
	$rqSortStep = 10;
	foreach ($demoRequisiteData as &$requisiteFields)
	{
		$requisiteFields['ID'] = ++$requisiteId;
		$requisiteFields['PRESET_ID'] = $presetId;
		$requisiteFields['PRESET_NAME'] = $presetName;
		$requisiteFields['PRESET_COUNTRY_ID'] = $countryId;
		$requisiteFields['PRESET_COUNTRY_NAME'] = $countryName;
		$requisiteFields['ACTIVE'] = Loc::getMessage('MAIN_YES');
		$requisiteFields['SORT'] = $rqSortNum;
		$rqSortNum += $rqSortStep;

		if (is_array($requisiteFields['BANK_DETAILS']))
		{
			$bdSortNum = 500;
			$bdSortStep = 10;
			foreach ($requisiteFields['BANK_DETAILS'] as &$bankDetailFields)
			{
				$bankDetailFields['ID'] = ++$bankDetailId;
				$bankDetailFields['ACTIVE'] = Loc::getMessage('MAIN_YES');
				$bankDetailFields['SORT'] = $bdSortNum;
				$bdSortNum += $bdSortStep;
			}
			unset($bankDetailFields);
		}
	}
	unset($requisiteFields);

	$demoRequisiteData = array($demoRequisiteData);

	$requisite = EntityRequisite::getSingleInstance();
	$demoRequisiteData = $requisite->entityListRequisiteExportDataFormatMultiline($demoRequisiteData, $exportHeaders);

	if (is_array($demoRequisiteData[0]))
		$result = $demoRequisiteData[0];

	return $result;
}