Есть идея по этому модулю?
Опишите доработку или сценарий — обсудим вместе с другими клиентами.
Виджет выбора пункта выдачи
Менее 50 раз установок
Ставится из 1С-Битрикс Marketplace за пару минут — вкладка «Установка».
Технические данные
Число установок:
Менее 50 раз
Версия:
1.0.9
Адаптивность:
Нет
Поддержка композита:
Да
Дата публикации:
06.10.2026
Совместимые редакции
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Малый бизнес
- Программа для ЭВМ "1С-Битрикс: Управление сайтом". Лицензия Бизнес
- Программа для ЭВМ "1С-Битрикс24". Лицензия Интернет-магазин + CRM (12 мес.)
Описание
ВЫБОР ПУНКТА В ОФОРМЛЕНИИ ЗАКАЗАПокупатель выбирает ПВЗ, постамат или магазин для самовывоза в списке с адресами, метро, часами работы, возможностями, сроком и стоимостью выдачи. Решение сохраняет код выбранного пункта в свойстве заказа. Для подключения виджета требуется настройка шаблона оформления магазина.
ПОИСК И ФИЛЬТРЫ
Поиск работает по названию, адресу, метро и городу: служебные слова отбрасываются, ё и е не различаются, номер дома сравнивается целиком. Фильтры помогают выбрать пункт с оплатой картой, наличными, примеркой, возвратом или приёмом крупногабаритных товаров. Постаматы не предлагают примерку.
После разрешения геолокации браузера пункты сортируются по расстоянию от покупателя. Оно считается по прямой и не является длиной маршрута. Поиск проверяет всю подходящую выборку, число показанных результатов ограничивается настройкой. Поздние ответы прежних запросов не заменяют актуальный список.
ЧАСЫ РАБОТЫ И ОГРАНИЧЕНИЯ
Виджет показывает «открыт до…» или время следующего открытия. Поддерживаются группы дней, обеденные перерывы, явные выходные, круглосуточная работа и ночные смены. Часы после полуночи относятся к следующему дню.
Вес, наибольшая сторона и суммарный объём посылки сравниваются с пределами пункта. Учитываются все позиции и дробное количество; отложенные товары не входят в текущую корзину. При оформлении нового заказа на витрине выбранный пункт проверяется повторно: если он закрыт или посылка превышает ограничения, покупатель получает ошибку. Существующие заказы при пересохранении модуль не меняет.
Порог бесплатной выдачи от суммы корзины одинаково применяется при первом открытии и после поиска. Он меняет отображаемую стоимость выдачи; тариф доставки в заказе настраивается в службе доставки отдельно.
СПРАВОЧНИК, CSV И ОТЧЁТ
Пункты можно создавать вручную или загружать CSV с заголовками. Поддерживаются многострочные поля в кавычках; повторная загрузка обновляет точки по коду. Для разных служб используйте уникальные коды. Пункты, которых нет в файле, не удаляются.
Отчёт показывает выборы, связанные заказы, конверсию, востребованные и невыбранные пункты, среднее расстояние и города с пустыми результатами поиска. Промахи регистрируются по пустым ответам поиска и ограничиваются по частоте: это не подсчёт всех уходов со страницы или потерянных заказов. Выбор гостя после входа связывается с заказом в той же сессии.
ПОДКЛЮЧЕНИЕ И СОВМЕСТИМОСТЬ
— Два компонента: виджет оформления ozhogov:pickup.widget и публичный список ozhogov:pickup.list.
— Список работает без карты. Для карты сайт подключает JavaScript API Яндекс.Карт с собственным ключом; модуль SDK не загружает.
— Требуются PHP 8.2+, главный модуль main 20.0.0+ и Интернет-магазин (sale). Для чтения параметров товаров нужен catalog.
— Поддерживаются MySQL 5.7+, MariaDB 10.3+ и PostgreSQL; для PostgreSQL нужен main 23.900.900+.
— Расчёт тарифа, передача заказа перевозчику и обмен статусами остаются за используемой службой доставки. Встроенного геокодера и определения города по IP нет.
УСТАНОВКА
1. Загрузите решение через Маркетплейс и установите его в административном разделе, в списке установленных решений. Для ручной установки поместите каталог ozhogov.pickup в /bitrix/modules/ozhogov.pickup/ и установите модуль через тот же раздел.
2. Проверьте требования: PHP 8.2+, main 20.0.0+ и установленный sale. СУБД — MySQL 5.7+, MariaDB 10.3+ либо PostgreSQL с main 23.900.900+.
3. Установщик создаёт таблицы, копирует компоненты и скрипты, регистрирует обработчики заказа и агент очистки. Для существующих типов плательщика с группой свойств создаётся строковое необязательное свойство PICKUP_POINT. Для типа без группы или добавленного после установки создайте группу и активное строковое необязательное свойство вручную. Уже существующее свойство с этим кодом не заменяется.
СПРАВОЧНИК И НАСТРОЙКИ
1. Магазин → Пункты выдачи: заведите активные пункты вручную или через «Загрузка списком». Заполните город, адрес, часы работы, возможности, срок и стоимость выдачи. Для карты и расстояния укажите широту и долготу.
2. Пределы пункта задаются в кг, см и см³. Ноль означает отсутствие соответствующего ограничения. Для проверки посылки заполните параметры товаров: каталог хранит вес в граммах и размеры в миллиметрах.
3. Настройки → Настройки продукта → Настройки модулей → Пункты выдачи: проверьте город, радиус, число результатов, проверку ограничений, чтение веса и размеров, код свойства заказа, журналы и срок хранения.
4. Порог бесплатной выдачи задаётся от суммы текущей корзины, 0 отключает его. Порог меняет цену в виджете; стоимость доставки в заказе настройте отдельно.
5. Выдайте сотрудникам права на pickup: R — просмотр, W — управление. Дополнительно учитываются права на Интернет-магазин и доступ к заказам.
ВИДЖЕТ В ОФОРМЛЕНИИ
1. Встройте компонент ozhogov:pickup.widget в шаблон оформления рядом с выбором доставки. Автоматической вставки в шаблон нет.
2. В INPUT_NAME укажите имя поля вашей формы. Для штатной формы пример — ORDER_PROP_123, где 123 — числовой ID свойства PICKUP_POINT текущего типа плательщика. ORDER_PROP_PICKUP_POINT не заменяет ID свойства. При смене типа плательщика используйте его ID.
3. Поле виджета должно находиться внутри формы и передаваться при оформлении; не дублируйте имя поля. Виджет заполняет скрытое поле и отправляет событие change. Для собственного шаблона проверьте реакцию формы и динамическое обновление после смены доставки.
4. При пустом INPUT_NAME выбор остаётся в сессии, и обработчик нового заказа подставляет его в уже существующее свойство по коду. Отсутствующее свойство обработчик не создаёт. При изменении кода свойства в настройках создайте соответствующее свойство для каждого типа плательщика.
5. Показывайте виджет для доставки в пункт. При смене на курьерскую доставку очистите поле и сессионный выбор через BX.ajax.runAction('ozhogov:pickup.api.pickup.forget', { data: {} }). Дождитесь ответа перед оформлением.
6. Для карты включите её в настройках и SHOW_MAP. Сайт должен подключить JavaScript API Яндекс.Карт с ключом магазина и предоставить window.ymaps к инициализации виджета. Штатная отрисовка OSM не реализована. Без карты используйте SHOW_MAP=N.
7. Для отдельной страницы адресов подключите ozhogov:pickup.list. Он показывает справочник, не выбирает пункт и не учитывает корзину. Для композитного режима поместите персональный виджет в динамическую область либо исключите его из общей закэшированной разметки.
CSV
Файл — до 8 МБ, до 5000 записей за загрузку. Административная форма принимает UTF-8 и преобразует Windows-1251. Выберите разделитель: точка с запятой, запятая или табуляция. Первая запись — заголовок; достаточно title или address, но рекомендуются code, city и address. Типы kind: P — ПВЗ, B — постамат, S — магазин. Многострочные поля и значения с разделителем заключайте в двойные кавычки.
Используйте стабильные уникальные коды для всех служб. Без кода идентификатор строится из города и адреса; без адреса — из города, названия и координат. Повторная загрузка обновляет точки по коду и делает их активными; точки вне файла не удаляются. Проверьте сводку загрузки.
ПРОВЕРКА ПОСЛЕ УСТАНОВКИ
Проверьте поиск, фильтры, расписания и карту; выберите пункт и оформите заказ для каждого типа плательщика. Убедитесь, что PICKUP_POINT содержит код пункта и выбор связан с заказом в отчёте. После увеличения корзины сверх предела или отключения выбранного пункта новый заказ на витрине должен выдать ошибку. Проверьте цену ниже, на границе и выше порога, оформление после входа гостя и переход на курьерскую доставку.
ОБНОВЛЕНИЕ И УДАЛЕНИЕ
При обновлении через Маркетплейс updater.php копирует новые компоненты, JS/CSS и административные обёртки в общие каталоги сайта. При ручном обновлении замените файлы модуля и перенесите install/components в /bitrix/components, install/js в /bitrix/js, файлы install/admin в /bitrix/admin. Проверьте свои изменения в шаблонах перед заменой и очистите кэш при необходимости.
При удалении можно сохранить таблицы. Свойство заказа сохраняется в любом случае. Агент очистки запускается раз в сутки, удаляет старые записи журналов по сроку хранения и сохраняет выборы, связанные с заказами.
Подробные PHP-примеры подключения и команды проверок находятся в README модуля.
1. Загрузите решение через Маркетплейс и установите его в административном разделе, в списке установленных решений. Для ручной установки поместите каталог ozhogov.pickup в /bitrix/modules/ozhogov.pickup/ и установите модуль через тот же раздел.
2. Проверьте требования: PHP 8.2+, main 20.0.0+ и установленный sale. СУБД — MySQL 5.7+, MariaDB 10.3+ либо PostgreSQL с main 23.900.900+.
3. Установщик создаёт таблицы, копирует компоненты и скрипты, регистрирует обработчики заказа и агент очистки. Для существующих типов плательщика с группой свойств создаётся строковое необязательное свойство PICKUP_POINT. Для типа без группы или добавленного после установки создайте группу и активное строковое необязательное свойство вручную. Уже существующее свойство с этим кодом не заменяется.
СПРАВОЧНИК И НАСТРОЙКИ
1. Магазин → Пункты выдачи: заведите активные пункты вручную или через «Загрузка списком». Заполните город, адрес, часы работы, возможности, срок и стоимость выдачи. Для карты и расстояния укажите широту и долготу.
2. Пределы пункта задаются в кг, см и см³. Ноль означает отсутствие соответствующего ограничения. Для проверки посылки заполните параметры товаров: каталог хранит вес в граммах и размеры в миллиметрах.
3. Настройки → Настройки продукта → Настройки модулей → Пункты выдачи: проверьте город, радиус, число результатов, проверку ограничений, чтение веса и размеров, код свойства заказа, журналы и срок хранения.
4. Порог бесплатной выдачи задаётся от суммы текущей корзины, 0 отключает его. Порог меняет цену в виджете; стоимость доставки в заказе настройте отдельно.
5. Выдайте сотрудникам права на pickup: R — просмотр, W — управление. Дополнительно учитываются права на Интернет-магазин и доступ к заказам.
ВИДЖЕТ В ОФОРМЛЕНИИ
1. Встройте компонент ozhogov:pickup.widget в шаблон оформления рядом с выбором доставки. Автоматической вставки в шаблон нет.
2. В INPUT_NAME укажите имя поля вашей формы. Для штатной формы пример — ORDER_PROP_123, где 123 — числовой ID свойства PICKUP_POINT текущего типа плательщика. ORDER_PROP_PICKUP_POINT не заменяет ID свойства. При смене типа плательщика используйте его ID.
3. Поле виджета должно находиться внутри формы и передаваться при оформлении; не дублируйте имя поля. Виджет заполняет скрытое поле и отправляет событие change. Для собственного шаблона проверьте реакцию формы и динамическое обновление после смены доставки.
4. При пустом INPUT_NAME выбор остаётся в сессии, и обработчик нового заказа подставляет его в уже существующее свойство по коду. Отсутствующее свойство обработчик не создаёт. При изменении кода свойства в настройках создайте соответствующее свойство для каждого типа плательщика.
5. Показывайте виджет для доставки в пункт. При смене на курьерскую доставку очистите поле и сессионный выбор через BX.ajax.runAction('ozhogov:pickup.api.pickup.forget', { data: {} }). Дождитесь ответа перед оформлением.
6. Для карты включите её в настройках и SHOW_MAP. Сайт должен подключить JavaScript API Яндекс.Карт с ключом магазина и предоставить window.ymaps к инициализации виджета. Штатная отрисовка OSM не реализована. Без карты используйте SHOW_MAP=N.
7. Для отдельной страницы адресов подключите ozhogov:pickup.list. Он показывает справочник, не выбирает пункт и не учитывает корзину. Для композитного режима поместите персональный виджет в динамическую область либо исключите его из общей закэшированной разметки.
CSV
Файл — до 8 МБ, до 5000 записей за загрузку. Административная форма принимает UTF-8 и преобразует Windows-1251. Выберите разделитель: точка с запятой, запятая или табуляция. Первая запись — заголовок; достаточно title или address, но рекомендуются code, city и address. Типы kind: P — ПВЗ, B — постамат, S — магазин. Многострочные поля и значения с разделителем заключайте в двойные кавычки.
Используйте стабильные уникальные коды для всех служб. Без кода идентификатор строится из города и адреса; без адреса — из города, названия и координат. Повторная загрузка обновляет точки по коду и делает их активными; точки вне файла не удаляются. Проверьте сводку загрузки.
ПРОВЕРКА ПОСЛЕ УСТАНОВКИ
Проверьте поиск, фильтры, расписания и карту; выберите пункт и оформите заказ для каждого типа плательщика. Убедитесь, что PICKUP_POINT содержит код пункта и выбор связан с заказом в отчёте. После увеличения корзины сверх предела или отключения выбранного пункта новый заказ на витрине должен выдать ошибку. Проверьте цену ниже, на границе и выше порога, оформление после входа гостя и переход на курьерскую доставку.
ОБНОВЛЕНИЕ И УДАЛЕНИЕ
При обновлении через Маркетплейс updater.php копирует новые компоненты, JS/CSS и административные обёртки в общие каталоги сайта. При ручном обновлении замените файлы модуля и перенесите install/components в /bitrix/components, install/js в /bitrix/js, файлы install/admin в /bitrix/admin. Проверьте свои изменения в шаблонах перед заменой и очистите кэш при необходимости.
При удалении можно сохранить таблицы. Свойство заказа сохраняется в любом случае. Агент очистки запускается раз в сутки, удаляет старые записи журналов по сроку хранения и сохраняет выборы, связанные с заказами.
Подробные PHP-примеры подключения и команды проверок находятся в README модуля.
Техническая поддержка решения оказывается разработчиком в течение срока действия лицензии.
— Электронная почта: nm.ozhogov@ya.ru
— Время ответа: в рабочие дни, в течение 48 часов с момента обращения.
— Часовой пояс: UTC+3 (Москва).
Чтобы вопрос решился с первого письма, приложите: название и версию решения, редакцию 1С-Битрикс и версию главного модуля, версии PHP и базы данных, адрес страницы, на которой воспроизводится проблема, последовательность действий для её повторения и снимок экрана с сообщением об ошибке. Если ошибка попала в журнал событий сайта, приложите запись из него.
В поддержку можно обращаться с вопросами по установке, настройке и обновлению решения, по совместимости с другими решениями и по ошибкам в его работе. Доработка решения под требования конкретного проекта в поддержку не входит и обсуждается отдельно.
— Электронная почта: nm.ozhogov@ya.ru
— Время ответа: в рабочие дни, в течение 48 часов с момента обращения.
— Часовой пояс: UTC+3 (Москва).
Чтобы вопрос решился с первого письма, приложите: название и версию решения, редакцию 1С-Битрикс и версию главного модуля, версии PHP и базы данных, адрес страницы, на которой воспроизводится проблема, последовательность действий для её повторения и снимок экрана с сообщением об ошибке. Если ошибка попала в журнал событий сайта, приложите запись из него.
В поддержку можно обращаться с вопросами по установке, настройке и обновлению решения, по совместимости с другими решениями и по ошибкам в его работе. Доработка решения под требования конкретного проекта в поддержку не входит и обсуждается отдельно.
Установите этот модуль прямо сейчас!
Для этого укажите адрес сайта:
пример: https://www.site.ru
Подтвердите что сама лицензия у вас куплена
