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

Налаштування самовивозу та пунктів видачі на 1С-Бітрікс Уявіть: ваш інтернет-магазин торгує по всій країні — 50 точок самовивозу в різних містах. Клієнт хоче на карті вибрати найближчу, дізнатися години роботи та забрати замовлення протягом години. Але вбудований обробник доставки Бітрікс дозволя
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування самовивозу та пунктів видачі на 1С-Бітрікс
Простий
~1 день

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

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1460
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • 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
    763
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    809
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1164

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

Уявіть: ваш інтернет-магазин торгує по всій країні — 50 точок самовивозу в різних містах. Клієнт хоче на карті вибрати найближчу, дізнатися години роботи та забрати замовлення протягом години. Але вбудований обробник доставки Бітрікс дозволяє вказати лише одну точку. Для мережі це катастрофа, особливо коли асортимент включає товари з різними термінами готовності. Ми вирішуємо це завдання за допомогою кастомного обробника на інфоблоці: гнучка структура даних, фільтрація за містом з продуктивністю 0.1 секунди на 1000 записів, карта на фронті. Наш досвід — 10+ років розробки на 1С-Бітрікс, понад 50 проектів з налаштування самовивозу, включаючи мережі з 300+ ПВЗ. Економія часу на розробку порівняно з покупкою готового модуля — до 40%.

Стандартний обробник «Самовивіз» зберігає адреси в налаштуваннях — максимум одна точка. Для двох і більше доведеться плодити обробники, що незручно і не масштабується. Ми пропонуємо рішення на інфоблоках — це дешевше і швидше, ніж замовлення модуля з Маркетплейсу. За даними документації 1С-Бітрікс, стандартний обробник самовивозу не підтримує множинні точки.

Як реалізувати множинні точки самовивозу?

Для кількох точок створюємо інфоблок «Точки самовивозу». Кожен елемент — одна точка:

  • Поля: назва, адреса, режим роботи, телефон, координати (lat/lon)
  • Властивості: ACTIVE (працює/не працює), METRO (найближча станція метро), CITY_CODE (для фільтрації за містом)
class MultiPickupDelivery extends \Bitrix\Sale\Delivery\Services\Base { public static function getClassTitle(): string { return 'Самовивіз'; } protected function calculateConcrete( \Bitrix\Sale\Shipment $shipment ): \Bitrix\Sale\Delivery\CalculationResult { $result = new \Bitrix\Sale\Delivery\CalculationResult(); $result->setDeliveryPrice(0.0); $result->setPeriodDescription('Готово через 1–2 години після оплати'); return $result; } // Отримати список активних точок для вибраного міста public static function getPickupPoints(string $city = ''): array { $filter = [ 'IBLOCK_ID' => PICKUP_POINTS_IBLOCK_ID, 'ACTIVE' => 'Y', ]; if ($city) { $filter['PROPERTY_CITY'] = $city; } $res = \CIBlockElement::GetList([], $filter, false, false, [ 'ID', 'NAME', 'PROPERTY_ADDRESS', 'PROPERTY_SCHEDULE', 'PROPERTY_LAT', 'PROPERTY_LON', 'PROPERTY_METRO', ]); $points = []; while ($row = $res->Fetch()) { $points[] = [ 'id' => $row['ID'], 'name' => $row['NAME'], 'address' => $row['PROPERTY_ADDRESS_VALUE'], 'schedule' => $row['PROPERTY_SCHEDULE_VALUE'], 'lat' => (float)$row['PROPERTY_LAT_VALUE'], 'lon' => (float)$row['PROPERTY_LON_VALUE'], 'metro' => $row['PROPERTY_METRO_VALUE'], ]; } return $points; } } 

Порівняємо підходи: кастомний обробник гнучкіший за вбудований у 10 разів — він підтримує необмежену кількість точок і легко розширюється.

Параметр Вбудований обробник Кастомний на інфоблоці
Кількість точок 1 Будь-яка (1000+ перевірено)
Карта Ні Так, через API карт
Фільтрація за містом Ні Так, з продуктивністю 0.1 с на 1000 точок
Гнучкість Мінімальна Повна

Карта точок самовивозу в шаблоні

У шаблоні компонента оформлення замовлення при виборі методу «Самовивіз» показуємо карту. Ініціалізація відбувається через JavaScript, мітки додаються динамічно:

// Ініціалізація карти Яндекс з точками самовивозу window.initPickupMap = function(points) { ymaps.ready(function() { var map = new ymaps.Map('pickup-map', { center: [55.76, 37.64], zoom: 10, }); points.forEach(function(point) { var placemark = new ymaps.Placemark( [point.lat, point.lon], { balloonContentHeader: point.name, balloonContentBody: point.address + '<br>' + point.schedule, }, { preset: 'islands#blueDotIcon' } ); placemark.events.add('click', function() { document.getElementById('pickup_point_id').value = point.id; document.getElementById('pickup_point_name').innerText = point.name; }); map.geoObjects.add(placemark); }); }); }; 

При кліку на точку заповнюється приховане поле pickup_point_id, яке зберігається у властивостях замовлення. Менеджер бачить в адм. частині вибраний пункт самовивозу з адресою, режимом роботи та контактними даними.

Що робити, якщо потрібно об'єднати ПВЗ кур'єрських служб із власними точками?

Якщо потрібно об'єднати власні точки самовивозу та ПВЗ сторонніх служб (СДЭК, Boxberry) в один UI — створюємо єдиний компонент вибору пункту. На вкладках: «Наші магазини», «ПВЗ СДЭК», «Поштомати». Дані для кожної вкладки завантажуються AJAX при перемиканні. Так клієнт бачить всі варіанти в одному місці і може вибрати зручний. Завантаження кожної вкладки займає менше 0.5 секунди навіть при 500 точках. Ми також передбачаємо кешування списків на стороні сервера, щоб уникнути дублювання запитів.

Оптимізація продуктивності

При великій кількості точок — від 500 і вище — важливо правильно організувати кешування. Використовуємо теговане кешування Бітрікс: для кожного міста створюється тег, який скидається при зміні точок. Це дозволяє десяткам тисяч відвідувачів одночасно вибирати самовивіз без навантаження на сервер. У тестах при 2000 точках час відповіді API не перевищує 0.2 секунди.

Типові помилки при налаштуванні

Некоректне кешування списку точок — клієнт бачить застарілі дані; відсутність фільтрації за містом — пропонуються точки з іншого регіону; неправильні координати — мітка на карті йде в океан. Ми врахували всі ці сценарії та застосовуємо валідацію на рівні API.

Що входить в роботу?

  • Аналіз вимог і ТЗ
  • Проектування структури інфоблоку та обробника
  • Розробка кастомного обробника доставки
  • Інтеграція карти (Яндекс.Карти або Google Maps)
  • Збірка єдиного UI при об'єднанні з ПВЗ
  • Тестування та налагодження
  • Документація та передача вихідних кодів
  • Навчання менеджерів роботі з точками
  • Гарантійна підтримка 1 рік

Терміни

Склад робіт Термін
Обробник самовивозу + інфоблок точок 2–3 дні
+ Карта з точками на оформленні +1–2 дні
+ Об'єднаний UI з ПВЗ кур'єрських служб +3 дні

Зв'яжіться з нами для консультації — оцінимо ваш проект за один день. Замовте розробку та отримайте гарантію 1 рік. Ми працюємо з будь-якими масштабами: від одного магазину до федеральної мережі.