Сергей Сорокин · Единицы измерения и упаковки
Цена за м², покупка поддонами. Как это работает в Unimart24
Опубликовано Обновлено
У керамического блока Porotherm 51 на сайте можно выбрать цену за штуку, м², м³ или поддон. При выборе м² покупатель по-прежнему заказывает целые поддоны по 50 блоков. В Unimart24 я дорабатывал карточку и корзину с учетом этой разницы.
Начнем с одного блока
Porotherm 51 продается в магазине строительных материалов Unimart24. На снимках от 1 октября 2026 года один блок стоит 370,50 ₽. В карточке рядом с ценой можно выбрать другую меру. В учете количество этого товара считается в штуках.
В одном поддоне 50 блоков. Даже когда выбрана цена за штуку, минимальная покупка остается поддоном. Поэтому возле выбора количества нужна подпись о кратности. Одной цены за блок недостаточно, чтобы понять стоимость покупки.
Карточка Porotherm 51 в магазине Unimart24

Что меняется при выборе м²
Для м² у этого товара задан коэффициент 18,3 блока. Карточка умножает цену блока на коэффициент и показывает 6 780,15 ₽ за м². Такая мера нужна для сравнения стоимости материала по площади. Поддон при переключении не меняется.
Поддон теперь подписан как «поддон (2,73 м²)». Это те же 50 блоков, пересчитанные в выбранную меру. Переключение цены не дает возможности заказать произвольное число квадратных метров.
Для м³ работает другой коэффициент, 35,8 блока. Цена составляет 13 263,90 ₽ за м³. Коэффициенты приходят из данных товара; их нельзя подбирать заново на каждой странице. Иначе один материал в разделе, карточке и корзине получит разные расчеты.
Как данные упаковок загружаются из 1С в Unimart24

Сколько стоит покупка
При выборе поддона карточка показывает 18 525 ₽. Для этой упаковки расчет идет по 50 блокам по 370,50 ₽. Мера цены совпадает с упаковкой, и покупатель сразу видит сумму за минимальную партию.
Для других товаров минимальная партия может отличаться от упаковки. Если в поддоне 50 блоков, а магазин отпускает поштучно, 50 будет коэффициентом поддона, но не минимальным количеством покупки. Поэтому способ отгрузки нужно задать отдельно от пересчета цены.

Округленная площадь не подходит для расчета суммы
В подписи поддон занимает 2,73 м². Если умножить это число на цену за м², получится 18 509,81 ₽. Сумма на 15,19 ₽ меньше стоимости 50 блоков. Причина в округлении площади для короткой подписи.
Чтобы получить площадь поддона без округления, делим 50 на 18,3. Она чуть больше 2,73 м². Для суммы в этом примере нужно использовать исходные 50 блоков и цену за штуку. В интерфейсе можно оставить короткую подпись, но возвращать ее округленное значение в расчет нельзя.
Умножение на 2,73 здесь показывает возможную ошибку расчета. На снимках магазина сумма поддона верная.
Рассчитайте покупку целыми упаковками
Введите нужное количество, размер упаковки и цену одной штуки. Для м² или м³ укажите, сколько штук приходится на выбранную меру. Калькулятор округлит покупку вверх до целых упаковок и покажет, сколько товара останется сверх потребности.
Что остается в корзине
После добавления одного поддона в корзине видно 50 штук и сумму 18 525 ₽. У строки товара сохранена подпись «1 поддон (50 шт)». По ней понятно, как отгрузить это количество. При повторном открытии корзины подпись и количество сохранились.
Если сохранить в корзине только количество в штуках, выбор упаковки потеряется. Для товара, который продается и поштучно, и поддонами, одинаковое число штук может означать разные способы отгрузки. Поэтому упаковка должна сохраняться вместе с количеством.

С чего начать такую доработку в своем магазине
Возьмите один товар, который действительно продается упаковками. Покажите разработчику его данные в учете и карточку на сайте. Нужно определить базовую единицу, содержимое упаковки, источник цены и допустимый шаг покупки. Если цена упаковки задается отдельно, пересчет по цене штуки из этого примера не подойдет.
Затем пройдите с этим товаром путь до заказа. В нашем примере показаны карточка и корзина; передача этой покупки в 1С не проверялась. При приемке обмена проверьте, что в заказе в 1С сохранились выбранная упаковка, количество и сумма строки. Сверяйте содержимое заказа, а не только факт его появления в учетной системе.
