• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/requisite/importhelper.php
  • Класс: Bitrix\Crm\Requisite\ImportHelper
  • Вызов: ImportHelper::updatePresetCacheById
protected function updatePresetCacheById($presetId)
{
	if ($presetId < 0)
		$presetId = 0;
	
	if (!isset(self::$presetCacheById[$presetId]))
	{
		if ($presetId > 0)
		{
			$preset = EntityPreset::getSingleInstance();
			$res = $preset->getList(
				array(
					'filter' => array('=ID' => $presetId),
					'select' => array('ID', 'COUNTRY_ID', 'SETTINGS')
				)
			);
			if ($row = $res->fetch())
			{
				$id = (int)$row['ID'];
				$presetFieldMap = array();
				if (is_array($row['SETTINGS']))
				{
					$presetFieldsInfo = $preset->settingsGetFields($row['SETTINGS']);
					foreach ($presetFieldsInfo as $fieldInfo)
					{
						if (isset($fieldInfo['FIELD_NAME']) && !empty($fieldInfo['FIELD_NAME']))
							$presetFieldMap[$fieldInfo['FIELD_NAME']] = true;
					}
					unset($presetFieldsInfo, $fieldInfo);
				}
				self::$presetCacheById[$id] = array(
					'ID' => $id,
					'COUNTRY_ID' => (int)$row['COUNTRY_ID'],
					'FIELD_MAP' => $presetFieldMap
				);
			}
		}
		if (!isset(self::$presetCacheById[$presetId]))
		{
			self::$presetCacheById[$presetId] = false;
		}
	}
}