Налаштування самовивезення та пунктів видачі на 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування самовивезення та пунктів видачі на 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування самовивозу та пунктів видачі в 1С-Бітрікс

Самовивіз та ПВЗ — способи доставки, при яких покупець забирає замовлення самостійно. Знижують операційні витрати магазину і дають покупцю гнучкість. У 1С-Бітрікс це реалізується через стандартний модуль доставки, але конкретний сценарій (один склад, кілька точок самовивозу, або стороння мережа ПВЗ) вимагає різного підходу.

Самовивіз з однієї адреси

Найпростіший випадок: один склад/магазин, одна адреса самовивозу.

Магазин → Налаштування → Служби доставки → Додати → Ручна (фіксована вартість):

  • Ціна: 0 (або символічна, наприклад 0)
  • Опис: адреса самовивозу, години роботи
  • Місцезнаходження: потрібні міста або вся країна

Жодних API, жодних інтеграцій — просто служба з нульовою ціною.

Кілька точок самовивозу

Коли точок кілька — потрібно дати покупцю вибір. Реалізація: список адрес у формі вибору способу доставки.

Точки зберігаються в інфоблоці (наприклад, PICKUP_POINTS) з властивостями: назва, адреса, координати, години роботи, додаткові умови. Шаблон компонента доставки виводить список через CIBlockElement::GetList.

// У шаблоні компонента delivery
$pickupPoints = \CIBlockElement::GetList(
    ['SORT' => 'ASC'],
    ['IBLOCK_ID' => PICKUP_POINTS_IB_ID, 'ACTIVE' => 'Y'],
    false,
    false,
    ['ID', 'NAME', 'PROPERTY_ADDRESS', 'PROPERTY_WORKING_HOURS', 'PROPERTY_LAT', 'PROPERTY_LON']
);

while ($point = $pickupPoints->Fetch()) {
    // Виводимо список точок з картою
}

Вибраний ID точки зберігається у властивість замовлення PICKUP_POINT_ID. В адміністративній частині менеджер бачить, до якої точки спрямовано замовлення.

ПВЗ партнерської мережі на карті

Для магазинів, що використовують ПВЗ СДЕК, Boxberry, поштоматів тощо — віджети цих служб вбудовуються в шаблон компонента доставки. При виборі конкретної служби доставки на чекауті з'являється карта з ПВЗ.

// Перемикання між картами при виборі служби доставки
document.querySelectorAll('[name="DELIVERY_ID"]').forEach(radio => {
    radio.addEventListener('change', function() {
        // Приховуємо всі карти
        document.querySelectorAll('.pvz-map').forEach(m => m.style.display = 'none');

        // Показуємо карту обраної служби
        const mapEl = document.getElementById('pvz-map-' + this.value);
        if (mapEl) mapEl.style.display = 'block';
    });
});

Підтвердження готовності замовлення до видачі

При самовивозі потрібно повідомити покупця, коли замовлення готове до отримання. Це робиться через подію зміни статусу замовлення:

// В обробнику події OnSaleStatusOrder
if ($newStatus === 'READY_FOR_PICKUP') {
    $deliveryId = $order->getPropertyValueByCode('PICKUP_POINT_ID');
    $this->sendReadyNotification($order, $deliveryId);
}

Шаблон повідомлення містить адресу точки, години роботи та термін зберігання (зазвичай 7–14 днів). Надсилається по email і SMS через стандартні події 1С-Бітрікс.

Зберігання замовлення: термін і нагадування

При самовивозі замовлення чекає покупця в точці. Якщо за 7 днів не забрали — менеджер повинен отримати нагадування. Агент 1С-Бітрікс раз на добу перевіряє замовлення зі статусом «Готово до видачі» та датою, старшою за N днів, надсилає нагадування менеджеру і покупцю.

public static function checkExpiredPickups(): string
{
    $expiryDays = \Bitrix\Main\Config\Option::get('my_shop', 'pickup_expiry_days', 7);
    $expiryDate = (new \DateTime())->modify("-{$expiryDays} days")->format('Y-m-d H:i:s');

    $orders = \Bitrix\Sale\Internals\OrderTable::getList([
        'filter' => [
            'STATUS_ID'   => 'READY_FOR_PICKUP',
            '<DATE_UPDATE' => $expiryDate,
        ],
    ])->fetchAll();

    foreach ($orders as $order) {
        // Надсилаємо нагадування покупцю і менеджеру
        self::sendExpiredNotification($order['ID']);
    }

    return __CLASS__ . '::checkExpiredPickups();';
}

Карта точок самовивозу на сторінці «Доставка»

Крім чекауту, карту з точками самовивозу розміщують на сторінці «Доставка та оплата». Покупець може заздалегідь вибрати зручну точку до початку оформлення замовлення. Компонент будується на інфоблоці точок самовивозу з виведенням на Яндекс Картах або Leaflet + OpenStreetMap.

Терміни виконання

Одна адреса самовивозу — 2–3 години. Кілька точок з картою, вибором і повідомленням — 2 дні. Інтеграція з віджетом стороннього ПВЗ (СДЕК, Boxberry) — 2–3 дні.