Особенности расчета
Стоимость доставки рассчитывается с помощью калькулятора тарифов СДЭК, она же отображается покупателю при оформлении заказа.
Стоимость доставки зависит от размеров заказа: его габаритов и веса. Если в заказе несколько товаров, модуль считает их единой коробкой (одним грузоместом) и выводит посчитанные для нее стоимость и срок доставки. Для расчета веса и габаритов заказа используются данные его товаров, взятые из штатных параметров Торгового каталога, блок “Вес и размеры”. Вес считается путем суммирования веса товаров. Габариты считаются с помощью быстрого алгоритма оптимальной компоновки, с учетом габаритов конкретных товаров.
Если в заказе присутствуют товары с не указанными размерами или весом, то расчет изначально производится без их учета. Для расчета стоимости доставки принимается максимальное значение из рассчитанных габаритов или веса и настроек модуля по умолчанию (блок настроек “Размеры по умолчанию”). Причина того, что заказ в модуле весит больше, чем на сайте, в том, что в составе этого заказа есть товар с неуказанными габаритами.
Для расчета доставки используется наибольшее значение из физического веса и объемного веса, который считается по формуле (длина * ширина * высота в сантиметрах) / 5000. Например, коробка с заказом длиной 40, шириной 30 и высотой 20 см имеет объемный вес 403020/5000 = 4.8 кг. Если ее физический вес менее 4.8 кг, стоимость доставки будет считаться от объемного веса. Более детально вопросы тарификации стоимости доставки может разъяснить ваш клиентский менеджер СДЭК.
Габариты и объемный вес, для которых рассчитывается доставка, можно увидеть на странице заказа (в админке), нажав на кнопку “СДЭК доставка” и щелкнув в открывшемся окне по заголовку “Детали заказа”.
Логика выбора конкретного тарифа СДЭК
Все тарифы СДЭК разбиты на три группы: курьер, самовывоз, постамат. API СДЭК получает список тарифов в порядке уменьшения приоритета (посылка, тяжеловесные, экспрессы в порядке увеличения стоимости). На выходе будет тот тариф, которым возможна доставка в указанный пользователем регион, попавшийся в списке допустимых тарифов первым.
В расчете доставки для публичной страницы оформления заказа участвуют только те тарифы, которые не отмечены по колонке “Отключить для расчета” блока настроек “Настройки тарифов и доп. услуг”.
Полный список тарифов в порядке уменьшения приоритета:
- Курьер: 233,231,137,139,482,480,122,121,125,124,11,1,718,805,716,3,708, 796,706,61,698,787,696,60,688,778,686,59,678,676,58,57,83,16,18
- Самовывоз: 234,232,136,138,483,481,62,123,63,126,5,10,12,719,806,717, 804,709,797,707,795,699,788,697,786,689,779,687,777,679,677,15,17
- Постамат: 378,376,368,366,363,361,486,485
Для упрощения восприятия:
- Тарифы сгруппированы по разновидностям услуги СДЭК: наиболее приоритетна “Экономичная посылка”, затем следуют “Посылка”, “Экспресс”, “Магистральный экспресс”, “Магистральный супер-экспресс”, “Экспресс лайт”, “Супер-экспресс” и “Экспресс тяжеловесы”
- В рамках одной разновидности услуги вначале идет тариф от склада, затем от двери
Номер тарифа СДЭК, которым была рассчитана доставка данного заказа, можно увидеть в свойстве заказа “Рассчитанный тариф СДЭК”. При открытии формы заполнения заявки этот тариф будет выбран по-умолчанию.
Стоимость и сроки доставки рассчитываются сервером API СДЭК и могут измениться при изменении габаритов или веса заказа.
Комплекты
При расчете доставки, формировании XML и расчете мест комплекты считаются одним товаром - комплектом (с габаритами, прописанными для комплекта, а не входящих в его состав товаров). Чтобы рассчитывать комплект как входящие в него товары - необходимо определить константу:
IPOLSDEK_DOWNCOMPLECTS в true (define("IPOLSDEK_DOWNCOMPLECTS",true);)
в init.php. Определение происходит кодом, а не через опцию, так как это кардинально влияет на цену (в том числе и скидки) товара, а так же на расчет доставки.