- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/delivery/services/manager.php
- Класс: BitrixSaleDeliveryServicesManager
- Вызов: Manager::getRestrictedList
static function getRestrictedList(Shipment $shipment = null, $restrictionMode, array $skipChecks = array())
{
$result = array();
if(empty($skipChecks))
{
$skipChecks = array(
self::SKIP_CHILDREN_PARENT_CHECK,
self::SKIP_PROFILE_PARENT_CHECK
);
}
//Have restrictions and this restrictions successfully checked
$restrictedSrvIds = RestrictionsManager::getRestrictedIds($shipment, $restrictionMode);
//Don't have any restrictions + successfully checked
$services = self::getActiveList(false, array_keys($restrictedSrvIds));
foreach($services as $srvParams)
{
$srvParams["RESTRICTED"] = false;
if(!in_array(self::SKIP_PROFILE_PARENT_CHECK, $skipChecks))
if($srvParams["CLASS_NAME"]::canHasProfiles())
continue;
if(!in_array(self::SKIP_CHILDREN_PARENT_CHECK, $skipChecks))
if(is_callable($srvParams["CLASS_NAME"]."::canHasChildren") && $srvParams["CLASS_NAME"]::canHasChildren())
continue;
if(isset($restrictedSrvIds[$srvParams["ID"]]) && $restrictedSrvIds[$srvParams["ID"]] == RestrictionsManager::SEVERITY_SOFT)
$srvParams["RESTRICTED"] = true;
$result[$srvParams["ID"]] = $srvParams;
}
return $result;
}