Модуль «Расчет даты доставки» позволяет рассчитать и вывести дату доставки товаров в карточку товара или анонс товара в каталоге для различных регионов и городов в зависимости от заданных настроек.
В настройках модуля предусмотрена возможность указать время доставки (в днях) вручную для регионов и городов России для всего каталога, либо для какой-то группы товаров каталога.
Работа модуля «Расчет даты доставки» задействует функционал модуля «Интернет-магазин», который недоступен в редакциях «Старт» и «Стандарт».
Для определения местоположения пользователя используется встроенный функционал 1С-Битрикс, что позволяет подключать различные сервисы геолокации без внесения каких-либо изменений в работу модуля. В состав продукта «1С-Битрикс:Управление сайтом» включен сервис геолокации «Sypex Geo», который предоставляет бесплатно и без регистрации 10 000 запросов в месяц.
Модуль включает два компонента, один позволяет вывести на страницу только дату доставки в указанном формате, второй – дату и город доставки с возможностью изменить местоположение пользователя.
Требования для работы модуля:
- PHP версии 8.1 или новее
- Редакция «1С-Битрикс: Управление сайтом» не ниже «Малый бизнес»
Модуль устанавливается штатными средствами 1С-Битрикс.
При корректной установке модуля в Административном разделе 1С-Битрикс станет доступен раздел «DOBROsite».
Ручная настройка сроков доставки
Настройка сроков доставки модуля вручную осуществляется в Административном разделе на странице DOBROsite > Расчет даты доставки > Ручная настройка сроков доставки.

На вкладке «Настройки по умолчанию» определяется время доставки по умолчанию для всех товаров всех каталогов сайта.

Чтобы изменить время доставки по умолчанию в какой-либо регион или город России, необходимо добавить его в таблицу «Сроки доставки в регионы и города России» с помощью кнопки «Добавить Регион / Город», заполнить количество дней доставки и сохранить настройки.

На дополнительных вкладках можно задать время доставки для определенного каталога и/или группы товаров из определенного каталога.
Для добавления вкладки, необходимо заполнить произвольное название и выбрать каталог товаров в соответствующих полях вкладки «+».
После этого станут доступны дополнительные параметры вкладки: тип товаров и фильтр товаров в формате JSON. Эти параметры предназначены для формирования выборки товаров/ТП из указанного каталога, для которых будут применены параметры доставки, указанные на этой вкладке.
Параметр «Тип товаров» определяет, к какому типу элементов будет применен фильтр.
- Простой товар – будут выбраны только простые элементы/товары каталога, удовлетворяющие условиям фильтра в формате JSON.
- Товар с предложениями – будут выбраны все ТП, которые принадлежат товарам, удовлетворяющим условиям фильтра в формате JSON.
- Торговые предложения – будут выбраны все ТП, удовлетворяющие условиям фильтра в формате JSON.
Для построения фильтра в формате JSON доступен визуальный конструктор, им можно воспользоваться, кликнув на кнопку «Конструктор фильтра».
В конструкторе фильтр формируется из одного или нескольких блоков логики, каждый из которых содержит одно или несколько условий. В системе 1С-Битрикс можно использовать два вида логики: И и ИЛИ.
Логика И позволяет выбрать только те товары, которые удовлетворяют сразу всем условиям блока. Цвет блока – зеленый. Блок И в фильтре может быть только один и должен содержать хотя бы одно условие.
Логика ИЛИ позволяет выбрать товары, которые соответствуют хотя бы одному из условий, например, товары одного из указанных брендов, или товары только определенных разделов каталога. Цвет блока – синий. В фильтре может быть несколько блоков ИЛИ, каждый из которых должен содержать хотя бы два условия.
Между собой все блоки фильтра объединяются логикой И.

Каждое условие блока должно содержать свойство каталога, по которому будет производиться фильтрация товаров, оператор (больше, меньше, равно и т.д.) и значение свойства. В зависимости от значения параметра «Тип товаров» список доступных свойств будет отличаться. Для простого товара и товара с предложениями доступны все свойства каталога, для торгового предложения – свойства инфоблока, содержащего ТП.

Каждое условие может содержать только одно значение свойства.
Если структура фильтра должна быть сложнее, чем позволяет сформировать конструктор, то параметр «Фильтр товаров в формате JSON» может быть заполнен вручную. Для этого нужно составить массив фильтра $arFilter и сконвертировать его в JSON-формат. Подробнее о массиве $arFilter можно узнать из документации 1С-Битрикс.
После сохранения настроек необходимо составить список элементов, к которым будут применены параметры доставки текущей вкладки. За это отвечает агент \Dobrosite\CalcDeliveryDate\Main::agentSaveProductList(). Статус формирования списка элементов отображается в параметре «Список товаров». Доступны два значения:
- Ожидает обновления – список товаров еще не составлен или требует обновления.
- Обновлен [дата обновления] – список товаров актуален и не нуждается в обновлении.

Публикация даты доставки товара
В состав модуля входят два компонента, которые формируют строку с датой доставки согласно выполненным настройкам: «Дата доставки» и «Город и дата доставки». Компоненты находятся в группе DOBROsite Tools > Расчет даты доставки.

Примечание: если компоненты не отображаются, необходимо обновить панель компонентов.

Простой компонент «Дата доставки» (dobrosite:CalcDeliveryDate.DeliveryDate)
Компонент «Дата доставки» выводит строку с датой доставки товара согласно выполненным настройкам. Местоположение пользователя определяется автоматически. Смена местоположения пользователя не поддерживается.

Параметры компонента:
- ID элемента инфоблока (PRODUCT_ID) – идентификатор товара или ТП, для которого необходимо рассчитать дату доставки.
- Формат даты (DATE_FORMAT) – формат вывода даты доставки. Доступны следующие варианты:
- j M // 5 фев
- j F // 5 февраля
- j M Y // 5 фев 2025
- j F Y // 5 февраля 2025
- d-m-y // 05-02-25
- d.m.y // 05.02.25
- d-m-Y // 05-02-2025
- d.m.Y // 05.02.2025
- Y-m-d // 2025-02-05
- Y.m.d // 2025.02.05
- .default – простой шаблон, выводит дату доставки в указанном формате, стилистического оформления нет.
$APPLICATION->IncludeComponent( "dobrosite:CalcDeliveryDate.DeliveryDate", ".default", array( "PRODUCT_ID" => $productID, "COMPONENT_TEMPLATE" => ".default", "DATE_FORMAT" => "j F Y" ), $component ); |
Простой компонент «Город и дата доставки» (dobrosite: CalcDeliveryDate.DeliveryCityAndDate )
Компонент «Город и дата доставки» выводит строку с городом и датой доставки товара согласно выполненным настройкам. Местоположение пользователя определяется автоматически. В компонент включена возможность сменить местоположение пользователя, кликнув на город доставки.

Параметры компонента:
- ID элемента инфоблока (PRODUCT_ID) – идентификатор товара или ТП, для которого необходимо рассчитать дату доставки.
- Формат даты (DATE_FORMAT) – формат вывода даты доставки. Доступны следующие варианты:
- j M // 5 фев
- j F // 5 февраля
- j M Y // 5 фев 2025
- j F Y // 5 февраля 2025
- d-m-y // 05-02-25
- d.m.y // 05.02.25
- d-m-Y // 05-02-2025
- d.m.Y // 05.02.2025
- Y-m-d // 2025-02-05
- Y.m.d // 2025.02.05
Шаблоны компонента:
- .default – простой шаблон, выводит город и дату доставки в указанном формате. Наименование города выполнено в виде ссылке, при клике на которую открывается модальное окно с функцией поиска города по подстроке. Стилистическое оформление минимальное.

Код подключения:
$APPLICATION->IncludeComponent( "dobrosite:CalcDeliveryDate.DeliveryCityAndDate", ".default", array( "COMPONENT_TEMPLATE" => ".default", "DATE_FORMAT" => "j F", "PRODUCT_ID" => $productID, ), $component ); |
Геолокация
Модуль «Расчет даты доставки» использует встроенный функционал продукта «1С-Битрикс: Управление сайтом» для определения местоположения пользователя по его IP-адресу. Настройка сервисов геолокации осуществляется на странице Административного раздела Настройки > Настройки продукта > Геолокация.

При определении местоположения пользователя данные сохраняются в COOKIE сроком на одни сутки. Если на сайте используются какие-либо другие инструменты и/или сервисы для определения местоположения пользователя, то их можно использовать в модуле «Расчет даты доставки». Для этого данные нужно сохранить в переменную COOKIE с именем «DOBROSITE_GEOIPDATA» в виде JSON-строки.
Структура переменной DOBROSITE_GEOIPDATA:
array( 'COUNTRY' => '', // Наименование страны 'REGION_ID' => '', // Идентификатор региона в формате модуля 'REGION_NAME' => '', // Наименование региона 'CITY_ID' => '', // Идентификатор города в формате модуля 'CITY_NAME' => '', // Наименование города ); |
Пример сохранения данных в переменную DOBROSITE_GEOIPDATA
if(\Bitrix\Main\Loader::includeModule('dobrosite.calcdeliverydate')){ $countryName = 'Россия'; $regionName = 'Московская область'; $regionID = \Dobrosite\CalcDeliveryDate\Main::getRegionID($regionName, 'REGION'); $cityName = 'Москва'; $cityID = \Dobrosite\CalcDeliveryDate\Main::getRegionID($cityName, 'CITY'); $data = array( 'COUNTRY' => $countryName, 'REGION_ID' => $regionID, 'REGION_NAME' => $regionName, 'CITY_ID' => $cityID, 'CITY_NAME' => $cityName, ); // Сохранение местоположения пользователя в COOKIE на 1 сутки \Dobrosite\CalcDeliveryDate\Main::saveUserLocation($data); } |
Для покупки товара в нашем интернет-магазине выберите понравившийся товар и добавьте его в корзину. Далее перейдите в Корзину и нажмите на «Оформить заказ» или «Быстрый заказ».
Если оформляете быстрый заказ: напишите ФИО, телефон и e-mail. Вам перезвонит менеджер и уточнит условия заказа. По результатам разговора вам придет подтверждение оформления товара на почту или через СМС. Теперь останется только ждать доставки и радоваться новой покупке.
Оформление заказа в стандартном режиме выглядит следующим образом. Заполняете полностью форму по последовательным этапам: адрес, способ доставки, оплаты, данные о себе. Советуем в комментарии к заказу написать информацию, которая поможет курьеру вас найти. Нажмите кнопку «Оформить заказ».
Оплачивайте покупки удобным способом. В интернет-магазине доступно 3 варианта оплаты:
- Наличные при самовывозе или доставке курьером. Специалист свяжется с вами в день доставки, чтобы уточнить время и заранее подготовить сдачу с любой купюры. Вы подписываете товаросопроводительные документы, вносите денежные средства, получаете товар и чек.
- Безналичный расчет при самовывозе или оформлении в интернет-магазине: карты МИР. Чтобы оплатить покупку на сайте, система перенаправит вас на сервер платежной системы. Здесь нужно ввести номер карты, срок действия и имя держателя.
- Электронные системы при онлайн-заказе: ЮMoney. Для совершения покупки система перенаправит вас на страницу платежного сервиса. Здесь необходимо заполнить форму по инструкции.
- Безналичная оплата на наш расчетный счет по выставленному счету.
Экономьте время на получении заказа. В интернет-магазине доступно 4 варианта доставки:
- Электронная поставка - все необходимые сведения о лицензии, праве пользования, кодах, ключах и др. высылаются покупателю на его e-mail.
- Курьерская доставка. Когда товар будет отправлен с нашего склада, Вам придет уведомление. В день доставки с Вами заблаговременно свяжется курьер для уточнения времени и деталей доставки. Доставка производится "до двери". Осмотрите упаковку на целостность и соответствие указанной комплектации.
- Постамат. Когда заказ поступит на точку, на Ваш телефон или e-mail придет уникальный код. Заказ нужно оплатить в терминале постамата. Срок хранения — 3 дня.
- Доставка Почтой России. Когда заказ придет в отделение, на Ваш адрес придет извещение о посылке. Перед оплатой Вы можете оценить состояние коробки: вес, целостность. Вскрывать коробку самостоятельно Вы можете только после оплаты заказа. Один заказ может содержать не больше 10 позиций и его стоимость не должна превышать 100 000 р.
Дополнительная информация.