• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/delivery/externallocationmap.php
  • Класс: BitrixSaleDeliveryExternalLocationMap
  • Вызов: ExternalLocationMap::getUpperCityExternalId
static function getUpperCityExternalId($locationId, $srvId)
{
	$result = '';

	$res = LocationTable::getList(array(
		'filter' => array(
			array(
				'LOGIC' => 'OR',
				'=CODE' => $locationId,
				'=ID' => $locationId
			),
		),
		'select' => array(
			'ID', 'CODE', 'LEFT_MARGIN', 'RIGHT_MARGIN',
			'TYPE_CODE' => 'TYPE.CODE'
		)
	));

	if(!$loc = $res->fetch())
		return '';

	if($loc['TYPE_CODE'] == 'CITY')
		return '';

	$res = LocationTable::getList(array(
		'filter' => array(
			' $loc['LEFT_MARGIN'],
			'>RIGHT_MARGIN' => $loc['RIGHT_MARGIN'],
			'TYPE.CODE' => 'CITY',
			'=EXTERNAL.SERVICE_ID' => $srvId
		),
		'select' => array(
			'ID', 'CODE', 'LEFT_MARGIN', 'RIGHT_MARGIN',
			'XML_ID' => 'EXTERNAL.XML_ID'
		)
	));

	if($locParent = $res->fetch())
		return $locParent['XML_ID'];

	return $result;
}