1С-Битрикс: инструкция по подключению модуля
Расчет доставки (Почта, СДЭК, ПЭК, Энергия и др.)
Предупреждение!!!
1. Для работы модуля интернет-магазин необходимо подключить к системе eDost.
2. Чтобы рассчиталась доставка, у всех товаров в корзине должен быть задан вес.
3. Чтобы в расчете доставки учитывались габариты посылки, у каждого товара должны быть прописаны его размеры (длина, ширина, высота).
4. Обязательно задайте компании, через которые будет производиться расчет доставки
личном кабинете eDost в настройках магазина).
5. Магазин кэширует результаты расчетов, поэтому, после изменения настроек в личном кабинете, для пересчета доставки в магазине необходимо сбросить кэш.
6. Модуль поддерживает только стандартный компонент оформления заказа (sale.order.ajax).
7. Обязательно укажите шаблон, на котором работает оформление заказа, в админке в настройках модуля eDost (или отключите, если не используете ни один из поддерживаемых шаблонов).
8. Чтобы на карте с пунктами выдачи работал поиск по адресу, необходимо прописать api ключ для Яндекс карты в настройках модуля "Управление структурой" (админка > Настройки > Настройки продукта > Настройки модулей).
1. Установка модуля eDost
Запустите установку модуля через Marketplace, и завершите установку в админке магазина:
2. Настройка модуля eDost
3. Загрузка списка местоположений
Для корректной работы калькулятора доставки рекомендуется установить список местоположений, соответствующий стандарту системы eDost.
Предупреждение!!!
1. Новый список местоположений заменяет уже существующий, поэтому в старых заказах и в личных данных зарегистрированных покупателей местоположения могут сброситься.
2. Если магазин работает на местоположениях 2.0, но используется старый список (в типах местоположений содержится только три записи), тогда сначала необходимо импортировать дефолтные местоположения, чтобы в базах битрикса прописались все необходимые поля.
Удалите старый список с местоположениями России:
Выберите в архиве подходящий для вашего магазина список, и импортируйте согласно инструкции:
Сбросьте кэш магазина:
4. Учет габаритов
Для точного расчета доставки у товаров должны быть заданы габаритные размеры (длина, ширина, высота).
Предупреждение!!!
1. Без учета габаритов стоимость доставки может получиться намного МЕНЬШЕ реальной!
2. Если габариты не заданы, тогда доставка рассчитывается только по весу.
3. Если у вас в магазине представлены исключительно мелкие товары (например, парфюмерия), тогда габариты можно не указывать.
4. Чтобы габариты учитывались в расчетах, необходимо в личном кабинете eDost в настройках магазина поставить галочку Учитывать в расчетах габариты груза, и выбрать единицу измерения габаритов миллиметры (или другую, если в магазине используется нестандартная размерность).
Габариты задаются в настройках товара в стандартных полях:
5. Шаблон eDost
Шаблон eDost - это улучшенное оформление заказа с широкими возможностями (два варианта дизайна, любой цвет, выбор пунктов выдачи на общей карте, продвинутая адаптивность, уникальная система приоритетов оплаты, бонусы доставки, скидки способов оплаты, кнопка быстрого оформления и многое другое).
Предупреждение!!!
1. НЕ рекомендуем дорабатывать шаблон, потому что шаблон – это не просто какой-то отдельный html файл, а целая система, в состав которой входит модуль, компонент, события, языковые файлы, стили и js скрипты (это десятки тысяч строк кода). И главное, после доработок не будут доступны штатные обновления, т.е. не будет исправлений, улучшений и нового функционала.
2. Если требуется доработать шаблон, тогда необходимо сделать его копию (папка с доработанным шаблоном НЕ должна называться "edost" или "edost_2019") и все работы проводить на этой копии (иначе после обновления модуля eDost все правки сбросятся).
3. В шаблоне eDost реализована сложная схема адаптации, поэтому вносить изменения в шаблон, особенно связанные с добавлением, удалением, размерами и видимостью блоков, необходимо очень осторожно с обязательным тестированием при различных тарифах, на различных устройствах, положении экрана и т.д. (иначе на компьютере разработчика все будет выглядеть нормально, а у какого-нибудь покупателя, например, на телефоне с вертикальным расположением экрана верстка "поплывет" и он не сможет оформить заказ). Исключение составляют только простые правки, вроде изменения цвета, фона и другие не влияющие на структуру блоков.
подключение шаблона eDost
включение gzip сжатия
Для ускорения работы страницы оформления заказа рекомендуется включить сжатие.

По вопросу включения сжатия вам необходимо обращаться к системному администратору вашего сайта.

А если сервер магазина поддерживает такую функцию, тогда достаточно будет скопировать в папку страницы оформления заказа (по умолчанию /personal/order/make/) файл .htaccess из архива.
Предупреждение!!!
Сжатие требует больше ресурсов, поэтому на слабых серверах может приводить к сбою.
показать старый шаблон eDost/Visual
7. Наложенный платеж
Наложенный платеж - это способ оплаты за заказ наличными в момент вручения (например, оплата в почтовом отделении при получении посылки, или оплата наличными курьеру при вручении заказа).

Функциональные возможности системы наложенного платежа eDost:
1. Управление из личного кабинета eDost.
2. Включение в заказ наценок наложенного платежа.
3. На странице оформления заказа способ оплаты "Наложенный платеж" появляется только при выборе тарифов доставки, для которых наложенный платеж включен в личном кабинете и доступен по параметрам заказа, настройкам и ограничениям перевозчиков.
Предупреждение!!!
1. Отображение наценок наложенного платежа реализовано только для стандартного оформления заказа (sale.order.ajax).
2. Обязательно включите наложенный платеж в личном кабинете eDost у магазина в разделе "наложка".
3. В магазине должна быть только одна платежная система с обработчиком "edostpaycod".
4. В админке магазина НЕ нужно врунчую привязывать наложенный платеж к способам доставки.
5. В настройках страницы оформления заказа должна быть установлена последовательность оформления "Доставка > Оплата".
6. После любых изменений в настройках платежных систем, обязательно пересохраняйте привязки к оплате в настройках модуля eDost.
Добавьте новую платежную систему:

Установите параметры в соответствии со скриншотами:

Отображение модуля "Наложенный платеж" в заказе:
Стоимость доставки увеличится на - это наценка на доставку при наложенном платеже (включается в заказ - прибавляется к стоимости доставки).
+ доплатить при получении за денежный перевод - это сумма, которую оплачивает получатель на почте в момент вручения за перевод денежных средств, ОТДЕЛЬНО от стоимости заказа, указанной в бланке наложенного платежа (в заказ НЕ включается, выводится только для информации).
Пример:
1. Цена товара: 1 000 руб.
2. Цена доставки: 200 руб.
3. Наценка на доставку при наложенном платеже: 140 руб.
Итоговая стоимость заказа: 1 340 руб.

Магазин:
1. Оплачивает доставку 340 руб. = 200 руб. (цена доставки) + 140 руб. (наценка на доставку при наложенном платеже)
2. Указывает в бланке сумму наложенного платежа равную стоимости заказа: 1 340 руб.

Покупатель:
При получении посылки оплачивает 1 489 руб. = 1 340 руб. (стоимость заказа) + 149 руб. (за услугу по переводу денежных средств) - в итоге покупателю заказ обойдется на 289 руб. дороже, по сравнению с покупкой без наложенного платежа.

Служба доставки:
1. Берет с покупателя 1 489 руб.
2. Возвращает продавцу полностью всю стоимость заказа: 1 340 руб.
3. Оставляет себе за услугу перевода 149 руб.
8. Постаматы и пункты выдачи
В модуле eDost реализована возможность выбора покупателем постамата, почтового отделения, пункта выдачи или терминала доставки.

Данные по выбранной покупателем точке выдачи сохраняются в адресном поле заказа.

Пример:
Пункт выдачи СДЭК: проспект Мира, д. 25, телефон: +7-905-941-32-82, часы работы: пн.-пт. с 10:00 до 20:00, сб.-вс. с 10:00 до 18:00, код филиала: OMS7/7486/1_1-36/17-Y

Код филиала содержит системные данные по выбранной точке:
OMS7 - код в системе службы доставки
7486 - идентификатор в системе eDost
1_1-36 - тип _ тип 2 - опции
17-Y - ID доставки Битрикса - Y (наложка)

преобразовать адрес из строки в массив можно используя функцию класса модуля:
$office = edost_class::ParseOfficeAddress($address)
Предупреждение!!!
1. В админке > Магазин > Настройки > Свойства заказа > Список свойств - должно быть поле Адрес доставки с параметрами:
- мнемонический код ADDRESS
- тип Строка [STRING]
- включен параметр Входит в профиль
- привязка свойства не выбрано ни одной привязки
2. У Яндекс Доставки код сокращенный - только 6 последних символов от оригинального кода (все сокращенные коды уникальны, поэтому их можно использовать для идентификации).
3. У MagicTrans код технический, т.к. в системе самой службы доставки кодировки терминалов не предусмотрено.
4. У почтовых отделений код нестандартный вида: zip/101000/1_1/3 (zip - маркер, 101000 - почтовый индекс отделения)
5. У собственных пунктов выдачи магазина (созданных в личном кабинете eDost), если не задан код, тогда вместо него подписывается буква S - например: S/123456A123456/3_3-5/69
9. Расчет по индексу
Почтовый индекс необходим для тарифов Почты и курьера boxberry (если данные компании у вас в магазине не используются, тогда индекс можно не настраивать, т.к. пользы от него никакой не будет).

Настройка:
1. Включить расчет по индексу в настройках модуля eDost (админка > Магазин > eDost > Настройки).
2. В свойствах заказа включить (если нет, добавить) поле Индекс:
- мнемонический код: ZIP
- тип: Строка [STRING]
- включен параметр Входит в профиль
- включен параметр Использовать как почтовый индекс
- привязка свойства: не выбрано ни одной привязки

Если в заказе указан НЕ существующий индекс (или индекс НЕ принадлежит выбранному региону), тогда расчет НЕ производится и калькулятор выдает соответствующее предупреждение.
10. Оформление доставки
Функция оформления доставки позволяет зарегистрировать заказ в системе службы доставки с присвоением идентификатора отправления и печатью бланков.
Предупреждение!!!
1. Заполните данные доступа в личном кабинете eDost в разделе контроль заказов или в админке магазина в профиле организаций (админка > Магазин > eDost > Оформление доставки - там справа вверху кнопка "показать настройки" и дальше кнопка "Профили организаций").
2. Если после нажатия кнопки "распечатать" ничего не происходит, значит в вашем браузере заблокированы всплывающие окна (наобходимо зайти в настройки браузера и задать там соответствующее разрешение).
3. Для хранения веса, габаритов и опций доставки модуль eDost использует поле Параметры упаковки (PACKAGE). В настройках модуля есть кнопка для автоматического добавления данного свойства (админка > Магазин > eDost > Настройки). При необходимости поле можно добавить вручную в админке > Магазин > Настройки > Свойства заказа > Список свойств: название: Параметры упаковки, мнемонический код: PACKAGE, тип: Строка [STRING], включен параметр "Служебное", привязка свойства: не выбрано ни одной привязки.
4. В настройках битрикса можно автоматически разрешать доставку после оплаты заказа: админка > Настройки > Настройки продукта > Настройки модулей > Интернет-магазин - там в закладке "Автоматизация процессов" параметр "Разрешать доставку при оплате заказа".
Оформление доставки:
1. Проверить новый заказ, и если с ним все в порядке и его можно отправлять, тогда разрешить у него доставку:
2. Перейти на страницу оформления доставки (админка > Магазин > eDost > Оформление доставки):
Печать без оформления:
- доступно только для почтовых отправлений
- не нужно указывать вес и габариты (заполняются оператором при приеме отправления)
- не нужен договор с почтой и регистрация на otpravka.pochta.ru
- идентификатор присваивается после сдачи отправления в почтовом отделении

Если будете использовать функцию печати без оформления, тогда обязательно заполните данные отправителя (магазина) и получателя (если свойства заказа отличаются от стандартных):
11. Контроль заказов
Функция контроля заказов позволяет администратору магазина отслеживать состояние заказа с момента передачи отправления в службу доставки и до момента вручения покупателю.

Функциональные возможности:
1. Вывод текущего статуса заказа и просмотр детальной информации по всем статусам доставки (в админке магазина и в личном кабинете покупателя).
2. Предупреждение администратора о новых важных статусах - в админке отметка или
новый

После ознакомления с важным статусом, чтобы в дальнейшем данный заказ не выделялся, следует снять отметку (нажать соответствующую кнопку или кликнуть по ).
3. Заказ можно поставить на особый контроль, тогда система будет сообщать о любом изменении статуса, как о важном, и выделять такие заказы в отдельный блок с отметкой
на особом контроле
Предупреждение!!!
1. Заполните параметры контроля в личном кабинете eDost в разделе контроль заказов и в админке магазина в настройках модуля (админка > Магазин > eDost > Контроль заказов - там справа вверху кнопка "показать настройки").
2. Для постановки заказа на контроль у отгрузки в магазине должна быть разрешена доставка и указан идентификатор отправления (присваивается службой доставки при приемке отправления).
3. Для контроля наложки должен быть настроен наложенный платеж.
4. Информация по статусам заказов обновляется примерно раз в день, а в выходные и федеральные праздники задержки могут доходить до недели!!!
5. Реальный статус отправления может отличаться от статуса в системе по множеству различных причин (например, информация еще не обновилась, работник службы доставки забыл внести данные, партнер не обновил свою базу, сбой на сервере службы доставки, и т.д.).
12. Мои заказы
При использовании функции контроля, в шапку сайта (или любое другое место) можно добавить блок "мои заказы" со списком текущих заказов покупателя.
Интеграция блока "мои заказы" в шапку сайта:
bitrix/templates/шаблон магазина/header.php
Предупреждение!!!
1. Перед редактированием рекомендуется сделать бэкап оригинального файла магазина, чтобы при необходимости можно было все восстановить.
2. Модифицированный файл может быть заменен новой версией при обновлении шаблона/магазина, тогда все правки сбросятся!
Вставьте в файл код, выделенный зеленым:
...
...
                </span>
                <?$APPLICATION->ShowProperty("CATALOG_COMPARE_LIST", "");?>

<?
// блок "мои заказы" со статусами текущих заказов покупателя
if (CModule::IncludeModule('edost.delivery'))
    $GLOBALS['APPLICATION']->IncludeComponent('edost:delivery', '', array(
        'MODE' => 'user_order',
        'PARAM' => array(
//            'div_class' => 'bx-basket-block',
//            'div_style' => 'padding: 5x 0 5px 0; font-size: 12px;',
//            'a_class' => '',
//            'a_style' => 'font-size: 12px;',
//            'user_order_head' => 'мой заказ:', // название заголовка для одного заказа
//            'user_order_head2' => 'мои заказы:', // название заголовка для нескольких заказов
            'user_order_max' => 2, // ограничение количества заказов
            'user_order_string_length' => 15, // максимальная длина строки статуса (все, что больше, будет обрезано и заменено на '...')
//            'user_order_number_hide' => true, // скрыть номер заказа
//            'order_detail_link' => '/personal/order/detail/%order_id%/', // ссылка на страницу с детальной информацией о заказе ('%order_id%' - ид заказа, '%order_number%' - номер заказа)
//            'test' => 100, // тестовый вывод (для отладки положения и стилей, 100 - номер заказа)
        ),
    ), null, array('HIDE_ICONS' => 'Y'));
?>

            </div>
            <div class="brand">
...
...
13. Личный кабинет покупателя
Интеграция в личный кабинет покупателя открывает дополнительный функционал:
1. Корректный вывод названий тарифов доставки (с иконками, без названия модуля и лишних скобок).
2. Вывод пунктов выдачи со ссылкой на карту (с подробным описанием), форматирование адреса доставки, скрытие служебных полей (примерный почтовый индекс, и т.п.).
3. При использовании функции контроля, вывод текущего статуса заказа и подробной информации по доставке.
Интеграция в шаблон "Подробная информация о заказе" (bitrix:sale.personal.order.detail)
bitrix/templates/шаблон магазина/components/bitrix/sale.personal.order.detail/шаблон компоненты/template.php
Предупреждение!!!
1. Перед редактированием рекомендуется сделать бэкап оригинального файла магазина, чтобы при необходимости можно было все восстановить.
2. Если в шаблоне нет папки sale.personal.order.detail, тогда необходимо редактировать базовый шаблон компоненты: bitrix/components/bitrix/sale.personal.order.detail/templates/.default/
Базовый шаблон может быть заменен новой версией при обновлении магазина!
Чтобы этого избежать, рекомендуется создать на основе базового шаблона новый, а уже его редактировать и использовать в магазине.
3. Для просмотра подробной информации о заказе по ссылке без авторизациии, в настройках модуля интернет-магазин в разделе Настройки показа карточки заказа в публичной части необходимо поставить галочку Разрешить просмотр заказа по ключу без авторизации, установить статусы и шаблон (подробнее...).
В начале сразу после строчки "<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>", добавьте:
<?
// обработка данных страницы "Подробная информация о заказе"
if (CModule::IncludeModule('edost.delivery')) {
    $ar = $GLOBALS['APPLICATION']->IncludeComponent('edost:delivery', '', array(
        'MODE' => 'sale.personal.order.detail',
        'PARAM' => array(
            'GUEST_MODE' => (!empty($arParams['GUEST_MODE']) ? $arParams['GUEST_MODE'] : ''), // режим гостя (когда в настройках битрикса разрешен просмотр заказа по ссылке без автризации)
//            'ico' => 'N', // 'N' - не выводить иконку тарифа
//            'anchor' => 'N', // 'N' - не добавлять к названию тарифа якорь ("shipment_10", 10 - id отгрузки) - используется для перехода к отгрузке из списка заказов в шапке сайта
//            'anchor_up' => 40, // на сколько пикселей прокрутить вверх после перехода по якорю (по умолчанию: 20)
//            'loading' => 'loading_small_f2.gif', // иконка загрузки детальной информации по статусам заказа
        ),
        'RESULT' => $arResult,
    ), null, array('HIDE_ICONS' => 'Y'));
    if (!empty($ar)) $arResult = $ar;
}
?>
Интеграция в шаблон "Мои заказы" (bitrix:sale.personal.order.list)
bitrix/templates/шаблон магазина/components/bitrix/sale.personal.order.list/шаблон компоненты/template.php
В начале сразу после строчки "<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>", добавьте:
// обработка данных страницы "Мои заказы"
if (CModule::IncludeModule('edost.delivery')) {
    $ar = $GLOBALS['APPLICATION']->IncludeComponent('edost:delivery', '', array('MODE' => 'sale.personal.order.list', 'RESULT' => $arResult), null, array('HIDE_ICONS' => 'Y'));
    if (!empty($ar)) $arResult = $ar;
}
Доработка шаблонов
Удалить код выделенный красным, и добавить выделенный зеленым:
echo htmlspecialcharsbx($property["VALUE"]);
echo $property["VALUE"];
<? if (strlen($shipment["DELIVERY_NAME"])) {
    ?>
    <div class="sale-order-detail-payment-options-methods-shipment-list-item">
        <?=Loc::getMessage('SPOD_ORDER_DELIVERY')?>: <?=htmlspecialcharsbx($shipment["DELIVERY_NAME"])?>
        <?=Loc::getMessage('SPOD_ORDER_DELIVERY')?>: <?=$shipment["DELIVERY_NAME"]?>
    </div>
    <?
} ?>

<div class="sale-order-detail-payment-options-methods-shipment-list-item">
    <?= Loc::getMessage('SPOD_ORDER_SHIPMENT_STATUS')?>:
    <?= htmlspecialcharsbx($shipment['STATUS_NAME'])?>
</div>

<? if (!empty($shipment['TRACKING_STATUS'])) { ?>
<div class="sale-order-detail-payment-options-methods-shipment-list-item">
    <?=$shipment['TRACKING_STATUS_HEAD']?>:
    <div style="padding: 5px 0 0 20px;"><?=$shipment['TRACKING_STATUS']?></div>
</div>
<? } ?>
14. Разработчикам
В коде модуля прописаны события, используя которые можно модифицировать входные параметры заказа и результаты расчета (например, заблокировать модуль в городе магазина, или заменить рассчитанную стоимость доставки своим значением).

список событий
info@edost.ru

© ООО "Айсден", 2006-2023. Все права защищены.