• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/location/admin/namehelper.php
  • Класс: BitrixSaleLocationAdminNameHelper
  • Вызов: NameHelper::getParametersForList
static function getParametersForList($proxed)
{
	$parameters = parent::getParametersForList($proxed);

	$fldSubMap = static::readMap(self::getEntityRoadCode(), 'list');
	$roadMap = static::getEntityRoadMap();
	$road = $roadMap[self::getEntityRoadCode()]['name'];
	$class = $road.'Table';
	$languages = self::getLanguageList();

	// select all names
	foreach($languages as $lang)
	{
		$lang = ToUpper($lang);

		$parameters['runtime']['NAME__'.$lang] = array(
			'data_type' => $road,
			'reference' => array(
				'=this.ID' => 'ref.'.$class::getReferenceFieldName(),
				'=ref.'. $class::getLanguageFieldName() => array('?', ToLower($lang)) // oracle is case-sensitive
			),
			'join_type' => 'left'
		);

		if(!isset($parameters['select']))
			$parameters['select'] = array();
		foreach($fldSubMap as $code => $fld)
			$parameters['select'][$code.'_'.$lang] = 'NAME__'.$lang.'.'.$code;
	}

	// filter
	if(is_array($proxed['FILTER']) && !empty($proxed['FILTER']))
	{
		foreach($languages as $lang)
		{
			$lang = ToUpper($lang);

			foreach($fldSubMap as $code => $fld)
			{
				$key = $code.'_'.$lang;

				if(isset($proxed['FILTER'][$key]))
				{
					$parameters['filter'][static::getFilterModifier($fld['data_type']).'NAME__'.$lang.'.'.$code] = $proxed['FILTER'][$key];
				}
			}
		}
	}

	return $parameters;
}