Перейти к содержимому
Все статьи
Разработка

Интернет-магазин ткани: цельный отрез важнее общего метража

17 октября 2026 г.· 5 мин чтения
Два рулона по 3 и 2 метра: два отреза по 2,5 метра не размещаются, хотя сумма равна 5 метрам. Три отреза 2, 1,5 и 1,5 метра размещаются: два по 1,5 в первом рулоне, 2 во втором.
Сумма метров не описывает непрерывность ткани. В заказе и складском задании нужно сохранить требование к каждому цельному отрезу. Открыть схему крупнее

На сайте осталось пять метров ткани. Покупатель заказал два цельных отреза по два с половиной метра, оплатил покупку и получил звонок: заказ собрать нельзя. На складе действительно пять метров, но они разделены между рулонами длиной три и два метра. Ошибка возникла не в сумме заказа, а в том, что сайт считал все метры взаимозаменяемыми.

При заказе интернет-магазина тканей важно заранее определить единицу складского учёта. Один артикул может объединять несколько физических рулонов, которые нельзя бесследно сложить в один непрерывный кусок. Каталог, корзина и сборка должны одинаково понимать просьбу покупателя о цельном отрезе.

Что именно продаёт карточка

Ткань с нарезкой
Покупатель задаёт длину, магазин выбирает подходящий рулон и отрезает материал.
Готовый остаток
Продаётся конкретный физический кусок целиком, со своей длиной и другими характеристиками.
Несколько отдельных отрезов
Заказ содержит отдельные требования к длине каждого куска. Их нельзя заменять одним суммарным числом.

На странице TerzyApp о покупке тканей шаг нарезки связывается с конкретным рулоном и указывается индивидуальное ограничение в карточке. Это пример предметного правила каталога, а не единый стандарт для всех магазинов. Свои минимальный отрез, шаг продажи и доступные варианты нужно получить от владельца склада.

Одинаковые пять метров дают разные заказы

Учебный склад: рулон R1 длиной 3 м и рулон R2 длиной 2 м
Запрос покупателяСуммаПо общему остаткуПо цельным отрезамПричина
2,5 м и 2,5 м5 мХватаетСобрать нельзяВторой кусок не помещается в оставшиеся рулоны
2 м, 1,5 м и 1,5 м5 мХватаетСобрать можноВ R1 идут два куска по 1,5 м, в R2 — кусок 2 м
Один цельный кусок 4 м4 мХватаетСобрать нельзяСамый длинный рулон короче требуемого куска
Один кусок 2 м2 мХватаетСобрать можноДостаточно одного рулона

Во второй строке простое правило «первый подходящий рулон» тоже способно дать сбой. Если сначала взять два метра из R1, останется один метр в нём и два метра в R2. Один из последующих кусков по полтора метра уже не разместится. Другой порядок распределения позволяет собрать исходный заказ полностью.

Проверка распределения перед разработкой

Инструмент ниже рассматривает до шести рулонов и десяти отдельных отрезов. Все рулоны заранее должны быть признаны взаимозаменяемыми: один подходящий товар, нужная ширина, совместимые партия и оттенок. Эти свойства он не определяет по идентификатору и не сравнивает автоматически.

Длины вводятся в метрах с точностью до сантиметра. Внутри расчёта используются целые сантиметры. Минимальная длина и шаг относятся к каждому заказанному куску: шаг отсчитывается от нуля. Например, при минимуме 0,3 м и шаге 0,1 м допустимы 0,3 и 0,4 м; 0,35 м не будет незаметно округлено до соседнего значения.

Расчёт перебирает допустимые группы отрезов по рулонам, а не ограничивается общей суммой или первым найденным местом для каждого куска. Если полное распределение существует, выбирается вариант с минимальным количеством использованных рулонов. При нескольких равных вариантах выдаётся один воспроизводимый план после сортировки технических ID; он не объявляется лучшим производственным раскроем.

Если цельный заказ не помещается, план отсутствует целиком. Частично подобранные куски не выдаются за выполненный заказ. Отдельно остаётся виден результат сравнения суммарных метров: так можно различить нехватку общего запаса и невозможность распределения непрерывных кусков.

Сколько кусков означает количество в корзине

Для такой торговли запись «1,5 м × 2» неоднозначна без явного правила. Это могут быть два отдельных отреза по полтора метра либо один трёхметровый кусок. Нужный смысл следует показать рядом с полем количества и сохранить в заказе. Текстовое пожелание клиента не должно теряться при выгрузке в складскую систему.

Готовые остатки лучше связывать с собственными идентификаторами. Их нельзя повторно продавать только потому, что другой рулон того же артикула ещё есть в наличии. Если склад допускает замену партии, согласование должно происходить до выполнения заказа, особенно когда оттенок важен покупателю.

План распределения ещё не резерв на складе

Два посетителя могут одновременно рассчитать один и тот же доступный рулон. Локальная проверка показывает возможность только для введённого снимка остатков. Рабочая система должна повторно проверить доступность при оформлении и согласованно закрепить конкретные объёмы, а также освобождать их при отмене по правилам магазина. Этот инструмент не меняет склад и не решает конкурентное бронирование.

Что передать разработчику

  1. Примеры реальных складских строк: артикул, рулон, партия, ширина и доступная длина.
  2. Правила минимального куска и шага, включая редкие исключения.
  3. Смысл количества в корзине и возможность нескольких отдельных кусков.
  4. Условия замены, подтверждения заказа и резервирования остатков.
  5. Контрольные примеры, где суммы метров хватает, но цельного куска нет.

На приёмке проверьте все строки учебной таблицы, ввод с десятичной запятой, длину вне шага и ситуацию, когда склад изменился после расчёта. Для магазина у Левицкий Концепт эти правила стоит включить в состав разработки вместе с каталогом и оформлением заказа. Красивый выбор метража полезен только тогда, когда подтверждение заказа и задание сборщику описывают те же самые физические отрезы.

Распределить цельные отрезы по доступным рулонам

Учебная одномерная модель без сращивания. Метры с максимум 2 дробными знаками, запятая или точка; длины положительные до 1000 м. Шаг от нуля. Один отрез — один рулон, несколько отрезов могут занимать один рулон. Минимизируется число использованных рулонов. Все введённые рулоны уже признаны взаимозаменяемыми по товару, ширине и партии. Нет потерь на рез, припусков, рисунка, дефектов, реальных остатков или резерва. Расчёт выполняется на вашем устройстве, введённые данные никуда не отправляются.

Материалы для проверки

Если нужна реализация

Состав работ зависит от текущего проекта и подтверждённой причины. Можно обсудить диагностику или разработку подходящего решения.

Разработка интернет-магазина Поддержка

Нужна помощь с проектом?

Обсудим задачу и предложим решение — от сайта до SaaS и защиты.

Связаться