Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

b_boxberry_orders - таблица с заказами


Для разработки

Здесь описаны примеры работы с кодом модуля.

Загрузка модуля

Для начала загружаем модуль используя класс Loader

...

В конструкторе класса выполняется маппинг параметров к свойствам, чтобы что позволяет работать с опциями можно было работать через методы.

Вы получите доступ как с настройкам опциям профиля доставки, так и к настройкам опциям службы доставки - родителя профиля.

...

Выполнение расчета стоимости доставки

Расчет стоимости доставки выполняется методом \Boxberry\Bitrix\Helpers\Delivery::calculate

Для выполнения расчета необходим объект отгрузки \Bitrix\Sale\Shipment

Блок кода
languagephp
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

use Bitrix\Sale\Order;

$order = Order::load('7'); //айди заказа
$shipmentCollection = $order->getShipmentCollection();

$calculateResult = null;

foreach ($shipmentCollection as $shipment) {
    if (!$shipment->isSystem()) {
        $calculateResult = \Boxberry\Bitrix\Helpers\Delivery::calculate($shipment);
    }
}

echo '<pre>';
print_r($calculateResult);
echo '</pre>';


Как проверить содержится ли в заказе способ доставки Boxberry

Блок кода
languagephp
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

use Bitrix\Sale\Order;

$order = Order::load('7'); // ID заказа
$isBoxberryDeliveryInOrder = \Boxberry\Bitrix\Helpers\Validator::isBoxberryDeliveryInOrder($order);

var_dump($isBoxberryDeliveryInOrder);


Получить объект City для управления параметрами города из API Boxberry

Получение по коду города из api Boxberry

Блок кода
languagephp
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

$bbCity = \Boxberry\Bitrix\CitiesFullTable::getBbCityByCode('68'); // 68 - Москва, код города в api Boxberry

echo '<pre>';
print_r($bbCity);
echo '</pre>';


Получение по коду местоположения Битрикса

Блок кода
languagephp
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

$bbCity = \Boxberry\Bitrix\CitiesFullTable::getBbCityByBitrixLocationCode('0000073738'); // 0000073738 - Москва, код города в Битриксе

echo '<pre>';
print_r($bbCity);
echo '</pre>';


Запуск агентов

Запуск агента синхронизации статусов заказов

Блок кода
languagephp
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

$syncStatusesAgentRun = Boxberry\Bitrix\Agents\Tracking::syncStatuses();

echo $syncStatusesAgentRun;


Запуск агента обновлений городов

Блок кода
languagephp
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

$citiesUpdateAgentRun = Boxberry\Bitrix\Agents\CitiesUpdate::run();

echo $citiesUpdateAgentRun;


Запуск агента обновлений пунктов приема заказа

Блок кода
languagephp
\Bitrix\Main\Loader::includeModule('boxberry.delivery');

$pointsForParcelsUpdateAgentRun = Boxberry\Bitrix\Agents\PointsForParcelsUpdate::run();

echo $pointsForParcelsUpdateAgentRun;