• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/requisite/conversion/psrequisiteconverter.php
  • Класс: Bitrix\Crm\Requisite\Conversion\PSRequisiteConverter
  • Вызов: PSRequisiteConverter::prepareConvFieldSets
static function prepareConvFieldSets()
{
	if (is_array(self::$paySystemData) && self::$convFieldSets === null)
	{
		$psData = self::$paySystemData;
		if (is_array($psData) && !empty($psData))
		{
			// prepare fieldsets
			$fieldSets = array(
				'CO' => array(),
				'RQ' => array(),
				'BD' => array()
			);
			foreach ($psData as $psInfo)
			{
				if (is_array($psInfo) && is_array($psInfo['PSA_PARAMS'])
					&& isset($psInfo['PS_ID']) && $psInfo['PS_ID'] > 0
					&& isset($psInfo['PRESET_COUNTRY_ID']) && $psInfo['PRESET_COUNTRY_ID'] > 0)
				{
					$presetCountryId = (int)$psInfo['PRESET_COUNTRY_ID'];
					$psaParams = $psInfo['PSA_PARAMS'];
					if (!empty($psaParams))
					{
						foreach ($psaParams as $paramName => $paramInfo)
						{
							switch ($paramInfo['ENTITY_ABBR'])
							{
								case 'CO':
								case 'CO.MF':
									if (!isset($fieldSets['CO'][$paramInfo['FIELD_NAME']]))
										$fieldSets['CO'][$paramInfo['FIELD_NAME']] = array();
									$fieldSets['CO'][$paramInfo['FIELD_NAME']][(int)$psInfo['PS_ID']] = $paramName;
									break;
								case 'RQ':
									if (!isset($fieldSets['RQ'][$presetCountryId][$paramInfo['FIELD_NAME']]))
										$fieldSets['RQ'][$presetCountryId][$paramInfo['FIELD_NAME']] = array();
									$fieldSets['RQ'][$presetCountryId][$paramInfo['FIELD_NAME']][(int)$psInfo['PS_ID']] = $paramName;
									break;
								case 'BD':
									if (!isset($fieldSets['BD'][$presetCountryId][$paramInfo['FIELD_NAME']]))
										$fieldSets['BD'][$presetCountryId][$paramInfo['FIELD_NAME']] = array();
									$fieldSets['BD'][$presetCountryId][$paramInfo['FIELD_NAME']][(int)$psInfo['PS_ID']] = $paramName;
									break;
							}
						}
					}
				}
			}
			self::$convFieldSets = $fieldSets;
		}
	}
}