- Модуль: 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;
}