- Модуль: salescenter
- Путь к файлу: ~/bitrix/modules/salescenter/lib/integration/crmmanager.php
- Класс: BitrixSalesCenterIntegrationCrmManager
- Вызов: CrmManager::getMyCompanyAddressList
public function getMyCompanyAddressList(): array
{
$requisite = EntityRequisite::getSingleInstance()->getList(
[
'select' => ['ID'],
'filter' => [
'=ENTITY_TYPE_ID' => CCrmOwnerType::Company,
'=ENTITY_ID' => (int)EntityLink::getDefaultMyCompanyId()
],
]
)->fetch();
if (!$requisite)
{
return [];
}
$result = [];
$addresses = AddressTable::getList(
[
'filter' => [
'ENTITY_ID' => (int)$requisite['ID'],
'ENTITY_TYPE_ID' => CCrmOwnerType::Requisite,
'>LOC_ADDR_ID' => 0,
],
]
)->fetchAll();
$sortingMap = [
EntityAddressType::Primary => 10,
EntityAddressType::Delivery => 20,
];
foreach ($addresses as $address)
{
$result[$address['TYPE_ID']] = [
'VALUE' => (int)$address['LOC_ADDR_ID'],
'SORT' => isset($sortingMap[$address['TYPE_ID']]) ? $sortingMap[$address['TYPE_ID']] : 100,
];
}
uasort($result, function ($a, $b) {
return $a['SORT'] < $b['SORT'] ? -1 : 1;
});
return array_column($result, 'VALUE');
}