Здравствуйте, столкнулся с странной проблемой. Нужно получить список местоположений для службы доставки. Согласно документации для этого служит метод CSaleDelivery::GetLocationList. Пишу следующий код:
Код
<?
CModule::IncludeModule("sale");
$arFilter = array(
'DELIVERY_ID' => 1
);
$cdbLications = CSaleDelivery::GetLocationList($arFilter);
$arLocations = array();
while ( $arLocation = $cdbLications->GetNext() ) { //Ошибка в этой строке, при вызове метода GetNext()
$arLocations[] = $arLocation;
};
?>
<pre>
<?print_r($arLocations);?>
</pre>
где DELIVERY_ID => 1 - это ID реально созданной службы доставки. В итоге получаю ошибку при попытке обработать объект CDBResult:
Код
Fatal error: Call to undefined method Bitrix\Main\DB\ArrayResult::GetNext() in /var/www/test/index.php on line 13
Добрый день! Эта ошибка будет исправлена в обновлении sale 14.11.8. До его выхода Вы можете:
1. Использовать Fetch вместо GetNext 2. Обратиться в ТП за фиксом 3. Самому внести следующие исправления: файл /bitrix/modules/sale/general/delivery.php класс CAllSaleDelivery, метод GetLocationList заменить строку
Код
return new DB\ArrayResult(array());
на
Код
$dbResult = new CDBResult();
$dbResult->InitFromArray(array());
return $dbResult;
Приносим свои извинения.
Не надо сверлить зубы через задний проход дрелью от Сваровски
Евгений Жуков написал: Добрый день! Эта ошибка будет исправлена в обновлении sale 14.11.8. До его выхода Вы можете:
1. Использовать Fetch вместо GetNext 2. Обратиться в ТП за фиксом 3. Самому внести следующие исправления: файл /bitrix/modules/sale/general/delivery.php класс CAllSaleDelivery, метод GetLocationList заменить строку
Код
return new DB\ArrayResult(array());
на
Код
$dbResult = new CDBResult();
$dbResult->InitFromArray(array());
return $dbResult;
Приносим свои извинения.
Воспользовался третим вариантом, внёс изменения в код модуля.
Собственно теперь метод возвращает пустой массив. А как же всё таки получить список местоположений для службы доставки. Нам важно пометить города в списке выбора на которые распространяется эта служба доставки. Соответственно, мне нужно узнать список городов в которых работает эта служба доставки.