БесплатноБесплатный прототип ключевой страницы и черновик ТЗ при старте проекта

B2B-каталог на 1С-Битрикс: кратность упаковки, остатки и заказ по спецификации

B2B-каталог на 1С-Битрикс: кратность упаковки, единицы измерения, остатки по складам и заказ по спецификации

Розничный магазин продаёт штуками: покупатель кладёт товар в корзину по одной единице и платит цену за штуку. В опте так почти не бывает. Товар отгружают упаковками, коробками и паллетами; заказ идёт кратно упаковке, а не как попало; есть минимальная партия, ниже которой отгрузка невозможна; часть номенклатуры считают в килограммах, литрах и погонных метрах с дробным количеством; остатки важны по складам, а не просто «есть/нет». И заказывают в опте не поштучным обходом каталога, а сразу списком — по спецификации, по артикулам, загрузкой из Excel. Всё это делает оптовый каталог на 1С-Битрикс отдельной задачей, а не «розницей с оптовыми ценами».

Эта статья — практический разбор того, как устроен B2B-каталог на 1С-Битрикс: как задать единицы измерения и упаковки с коэффициентами, как настроить кратность заказа и минимальную партию, как показать остатки по складам, как сделать быстрый заказ по артикулу, загрузку из файла, заказ по спецификации и grid-заказ, и как всё это связать с обменом 1С, откуда приходят единицы, упаковки и кратность. Материал из нашей практики разработки сайтов для B2B-компаний — по делу, без обещаний «гарантированного роста продаж».

Коротко

  • Оптовый каталог считает товар не только в штуках, но и в упаковках, коробках, паллетах, килограммах и метрах — с коэффициентами пересчёта.
  • Кратность задаёт шаг заказа (например, только по 12 штук), а минимальная партия — нижнюю границу; они действуют вместе.
  • Весовой и метражный товар заказывают дробным количеством в своей единице — килограммах, литрах, погонных метрах.
  • Остатки оптовику показывают по складам и с датой прихода, а не абстрактным «есть/нет».
  • Заказ по спецификации, быстрый заказ по артикулу, загрузка из Excel и grid-заказ ускоряют оформление больших регулярных заказов.
  • Единицы, упаковки и кратность обычно приходят из 1С обменом и раскладываются в свойства каталога — их не ведут вручную.

Чем оптовый каталог отличается от розничного

На первый взгляд и розничный, и оптовый каталог — это список товаров с картинками, ценами и кнопкой заказа. Но как только доходит до реальной оптовой отгрузки, различия становятся принципиальными. Розница оптимизирована под импульсную покупку одной штуки: чем меньше препятствий между «увидел» и «купил», тем лучше. Опт оптимизирован под регулярный планируемый заказ множества позиций с жёсткими правилами отгрузки. Это разные задачи, и каталог под них устроен по-разному.

Ключевые отличия оптового каталога от розничного:

Из этих отличий вытекает вся дальнейшая техника. Чтобы каталог считал упаковки, у товара должны быть заданы единицы и коэффициенты. Чтобы работала кратность — форма заказа должна её проверять. Чтобы заказ шёл списком — нужны быстрый заказ по артикулу, загрузка из файла и спецификация. И почти всё это опирается на данные, которые приходят из 1С. Дальше разберём каждый блок по порядку — от единиц измерения до обмена и типовых проблем.

Единицы измерения в опте

Фундамент оптового каталога — единицы измерения. В рознице единица почти всегда одна и подразумевается по умолчанию — штука. В опте единиц много, и они разные для разных товаров: метизы считают штуками и упаковками, кабель — метрами и бухтами, краску — литрами и вёдрами, сыпучие материалы — килограммами и мешками, плитку — квадратными метрами и коробками. Единица измерения — это не текст в описании, а параметр товара, от которого зависят цена, остаток, кратность и то, как товар кладут в корзину.

У товара в оптовом каталоге обычно различают несколько понятий единицы:

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

Правило единицы: у товара должна быть одна базовая единица, в которой считают всё — цену, остаток, кратность. Упаковки и коробки — это та же базовая единица, умноженная на коэффициент, а не отдельные «единицы сами по себе». Пока базовая единица не зафиксирована, любые упаковки и кратности будут разъезжаться.

Упаковки и коэффициенты: штука → коробка → паллет

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

Разберём на примере условного товара — крепёж «Саморез 4×50»:

ЕдиницаСодержитКоэффициент к штуке
Штука1 саморез1
УпаковкаПакет саморезов100
КоробкаУпаковок в коробке1 000
ПаллетКоробок на паллете24 000

Коэффициенты позволяют оптовику заказывать в удобной ему единице, а системе — корректно всё пересчитывать. Клиент выбирает «2 коробки», а в заказ уходит 2 000 штук, цена считается от штуки (или от коробки, если так задано), а на складе видят понятную им единицу отгрузки. Обратный пересчёт тоже важен: если оптовик набрал 2 400 штук, система может показать это как «2 коробки и 4 упаковки», чтобы было ясно, как товар приедет.

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

Упаковки и коэффициенты пересчёта Штука базовая единица ×1 Упаковка 100 штук ×100 Коробка 10 упаковок ×1000 Паллет 24 коробки ×24000 Заказ в любой единице пересчитывается в базовую по коэффициенту «2 коробки» → 2000 штук для склада, цены и остатка
Схема: вложенные упаковки товара связаны коэффициентами пересчёта. Заказ в коробках или паллетах система переводит в базовые штуки для цены, остатка и склада.

Кратность заказа

Кратность — это шаг, которым можно менять количество товара в заказе. Она напрямую следует из упаковки: если товар отгружают упаковками по 12 штук, то заказать можно 12, 24, 36, но не 15 и не 20. Кратность защищает от невозможных заказов — таких, которые нельзя собрать, не вскрывая упаковку. Для склада это критично: разорванная упаковка — это пересортица, лишний труд и ошибки в отгрузке.

Кратность работает на всех этапах оформления заказа, а не только в поле ввода количества:

Разберём поведение формы на конкретных сценариях для товара с кратностью 12:

Ввёл оптовикКратностьЧто делает форма
1212Принимает как есть — ровно упаковка
2012Предлагает 12 или 24, подсказка о кратности
2412Принимает — две упаковки
112Округляет вверх до 12 — минимум упаковка
2512Округляет до 24, поясняет остаток

Ключевой принцип — кратность должна быть сквозной. Если она проверяется только в поле ввода на витрине, но не на сервере и не при загрузке из файла, некратное количество всё равно просочится через быстрый заказ, спецификацию или прямой запрос в корзину. Тогда его ловят уже на складе при сборке — с ручными правками и задержками. Поэтому кратность закладывают в товар как свойство и проверяют её на каждом пути попадания товара в заказ.

Минимальная партия

Минимальная партия — это нижняя граница заказа: сколько минимум товара нужно взять, чтобы отгрузка состоялась. Она бывает двух видов: минимум по конкретной позиции («этот товар — не менее 2 упаковок») и минимум по заказу в целом («заказ от определённой суммы или объёма»). Первый вид завязан на товар, второй — на правила оформления. Оба нужны, чтобы отсекать заведомо невыгодные микрозаказы, которые дешевле не отгружать.

Важно не путать минимальную партию с кратностью — это разные ограничения, которые часто действуют вместе:

ПараметрОтвечает на вопросПример
КратностьКаким шагом набирать количествоТолько по 12 штук
Минимальная партия (позиция)Сколько минимум взять этого товараНе менее 24 штук
Минимальный заказ (весь)Ниже какого объёма заказ не оформитьОт заданной суммы/объёма

Комбинация «кратность + минимальная партия» встречается постоянно. Товар с кратностью 12 и минимальной партией 24 штуки означает: меньше двух упаковок не отгрузят, а набирать можно только целыми упаковками. Форма заказа проверяет оба условия одновременно — сначала округляет до кратного, потом сверяет с минимумом и, если нужно, поднимает количество до него. Оптовик видит понятную подсказку: «минимальный заказ — 2 упаковки (24 шт.), отгрузка кратно упаковке».

Минимальный заказ по всей корзине проверяют на этапе оформления: если сумма или объём ниже порога, система не даёт оформить заказ и объясняет, чего не хватает — «до минимального заказа добавьте товаров на такую-то сумму». Это лучше, чем молча блокировать кнопку: оптовик должен понимать, что именно поправить. Как и кратность, минимальную партию проверяют и на витрине, и на сервере, чтобы её нельзя было обойти через быстрый заказ или загрузку списком.

Кратность и минимальная партия Ввёл: 15 кратность 12, минимум 24 Округление до кратного: 15 → 12 Проверка минимума: 12 < 24 → 24 В корзину 24 шт. = 2 упак. Подсказка оптовику: «отгрузка кратно упаковке, минимум — 2 упаковки (24 шт.)»
Схема: введённое количество сначала округляется до кратности, затем поднимается до минимальной партии. Оба ограничения проверяются вместе, оптовик видит понятную подсказку.

Весовой и метражный товар с дробным количеством

Не всё в опте считают целыми штуками. Кабель, ткань, трубы, металлопрокат меряют погонными метрами; краску, химию, ГСМ — литрами; сыпучие материалы, метизы «на вес» — килограммами; плитку, линолеум, утеплитель — квадратными метрами. Для такого товара единица измерения — не штука, а метр, литр, килограмм или квадратный метр, а количество в заказе может быть дробным: 2,5 кг, 0,75 л, 14,3 м. Оптовый каталог должен уметь это корректно принимать, считать и отгружать.

Чтобы дробное количество работало, у товара настраивают несколько вещей:

Часто дробность сочетается с кратностью, и это нормально. Кабель отгружают бухтами по 50 метров: единица — метр, но кратность заказа — 50, поэтому взять можно 50, 100, 150 метров. Ткань режут от полуметра: единица — метр, шаг ввода — 0,5, кратности упаковки нет. Плитку продают коробками, но считают в квадратных метрах: единица — м², а коэффициент коробки задаёт, сколько метров в одной коробке. Каждый такой случай описывается сочетанием базовой единицы, точности, шага и, при необходимости, коэффициента упаковки.

Дробность и цена — в одной единице: если цена задана за килограмм, то и количество, и остаток должны быть в килограммах, иначе сумма заказа посчитается неверно. Самая частая ошибка с весовым товаром — цена за одну единицу, а количество в другой. Зафиксируйте базовую единицу и держите в ней всё: цену, остаток, кратность и ввод количества.

Остатки по складам и наличие для опта

В рознице покупателю обычно достаточно знать «есть в наличии» — точное количество ему не нужно, он берёт одну-две штуки. Оптовику этого мало. Ему важно, сколько именно товара доступно и на каком складе, потому что от этого зависит объём заказа и сроки отгрузки. Заказать 500 штук того, чего на складе 300, — значит получить частичную поставку и сдвиг сроков. Поэтому в опте остатки показывают детальнее.

Что обычно показывают оптовику по наличию:

Технически остатки по складам приходят из 1С обменом и раскладываются по складам торгового каталога Битрикса. На витрине их выводят так, как решил бизнес: либо точными цифрами по складам, либо диапазонами и статусами. Точные цифры удобнее оптовику для планирования, но некоторые компании не раскрывают их конкурентам и показывают «много / мало / под заказ», сохраняя детализацию для менеджера в личном кабинете. Это бизнес-решение, а техника одна: каталог хранит остатки по складам, а шаблон решает, в каком виде их показать конкретной группе клиентов.

Важно, чтобы наличие было согласовано с кратностью и упаковками. Если остаток 250 штук, а кратность 100, реально доступно к заказу 200 штук (две упаковки) — и хорошо, когда каталог это учитывает, а не предлагает заказать 250, которые нельзя собрать целыми упаковками. Такие тонкости отличают продуманный оптовый каталог от формально «настроенного».

Быстрый заказ по артикулу

Оптовик редко «гуляет» по каталогу — он обычно знает, что ему нужно, и оперирует артикулами. Поэтому один из главных инструментов оптового каталога — быстрый заказ по артикулу: поле, куда закупщик вводит артикул и количество, а система мгновенно находит товар, подставляет цену и остаток и добавляет позицию в заказ. Это в разы быстрее, чем искать каждый товар через категории и фильтры.

Хороший быстрый заказ по артикулу устроен так:

  1. Поиск по мере ввода. Оптовик набирает артикул или его часть, и система подсказывает совпадения — с названием, ценой и остатком, чтобы не ошибиться позицией.
  2. Ввод количества с проверкой. Рядом с найденным товаром сразу поле количества с учётом кратности и минимальной партии — количество приводится к допустимому.
  3. Добавление в список. Позиция уходит в формируемый заказ, поле очищается, можно вводить следующий артикул — работа идёт потоком.
  4. Строчный ввод. Часто добавляют возможность вставить сразу несколько строк «артикул — количество» и разобрать их пачкой, а не по одной.

Быстрый заказ по артикулу тесно связан с загрузкой из файла и заказом по спецификации — это ступени одного и того же сценария «заказ списком». Ввод по одному артикулу удобен для небольших дозаказов, загрузка файла — для больших регулярных заказов. Детально этот сценарий, вместе с обработкой ошибок распознавания артикулов, мы разбираем в отдельной статье про быстрый заказ по артикулу и загрузку из Excel в B2B — она хорошо дополняет этот материал.

Загрузка заказа из Excel и CSV

Когда в заказе десятки и сотни позиций, вводить их по одной — даже по артикулу — долго. Поэтому в оптовом каталоге почти всегда есть загрузка заказа из файла: оптовик готовит таблицу «артикул — количество» в Excel или CSV (часто выгружая её из своей учётной программы), загружает файл, и система собирает из него готовую корзину. Это основной способ оформления крупных регулярных заказов.

Что происходит при загрузке файла, по шагам:

  1. Разбор файла. Система читает столбцы «артикул» и «количество», допуская распространённые форматы Excel и CSV и разные разделители.
  2. Сопоставление по артикулу. Каждая строка ищется в каталоге по артикулу; найденные товары подставляются с ценой и остатком.
  3. Проверка кратности и минимума. Количества приводятся к кратности и минимальной партии, о правках оптовик уведомляется построчно.
  4. Отчёт о нераспознанном. Строки, где артикул не найден или количество некорректно, выносятся отдельно — чтобы оптовик их поправил, а не потерял.
  5. Сборка корзины. Из распознанных строк формируется заказ, который оптовик проверяет и подтверждает.

Критично важен именно понятный отчёт о том, что не распозналось. Если система молча выкидывает ненайденные позиции, оптовик оформит неполный заказ и заметит это поздно. Правильная загрузка показывает: столько-то строк распознано, столько-то требуют внимания (артикул не найден, количество исправлено на кратное), и даёт их поправить до оформления. Тогда загрузка из файла экономит время, а не создаёт скрытые ошибки. Про форматы файлов, сопоставление артикулов и обработку ошибок подробно — в статье про быстрый заказ и загрузку из Excel.

Заказ по спецификации

Заказ по спецификации — это обобщение всех предыдущих сценариев: оформление заказа сразу по готовому списку позиций, откуда бы этот список ни пришёл. Спецификация — это набор строк «товар — количество», который оптовик уже держит в голове или в файле: перечень для проекта, стандартный набор для точки продаж, повтор прошлой поставки. Заказ по спецификации превращает этот список в готовую корзину за один шаг, а не за сотню обходов каталога.

Источники спецификации бывают разные, и хороший каталог поддерживает несколько:

Источник спецификацииКак попадает в заказКогда удобно
Файл Excel/CSVЗагрузка «артикул — количество»Большой регулярный заказ из учёта
Ввод спискомВставка строк «артикул — кол-во»Средний заказ по памяти
Прошлый заказПовтор с правкой количествПериодическая закупка
Сохранённый шаблонГотовый набор позицийСтандартная поставка на точку

Что бы ни было источником, механика одинаковая: система берёт список артикулов с количествами, находит товары в каталоге, подставляет актуальные цены (по группе клиента) и остатки, проверяет кратность и минимальную партию, а спорные строки выносит на проверку. На выходе — заполненная корзина, где оптовик видит итог, правит при необходимости и подтверждает. Это и есть суть B2B-оформления: минимум ручной работы над каждой позицией, максимум контроля над итогом.

Заказ по спецификации особенно ценен, когда номенклатура большая и стабильная, а заказы повторяются. Закупщик оптовой точки не хочет каждую неделю заново искать двести позиций — он хочет взять свой список, обновить количества и отправить. Хорошо сделанный заказ по спецификации превращает эту рутину в несколько минут работы, и именно за это оптовики ценят удобный B2B-каталог выше «красивой» розничной витрины.

Заказ по спецификации → готовая корзина Спецификация АРТ-001 — 24 АРТ-014 — 100 АРТ-207 — 12 АРТ-350 — 50 файл · ввод · шаблон Обработка поиск по артикулу цена по группе остаток по складам кратность, минимум Готовая корзина позиции с ценами итог и проверка спорные строки — на исправление Grid-заказ — та же идея на витрине: плотная таблица с полем количества в каждой строке Сотни позиций оформляются списком, а не поштучным обходом каталога
Схема: список позиций из файла, ввода или шаблона проходит сопоставление, подстановку цен и остатков и проверку кратности, превращаясь в готовую корзину. Спорные строки выносятся на исправление.

Шаблоны и повтор заказов

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

Два основных механизма здесь такие:

При повторе заказа важно аккуратно обработать изменения, которые произошли с момента прошлой закупки: часть товаров могла подорожать, часть — закончиться или сняться с производства, у части могла измениться кратность. Хороший повтор не молча подставляет старое, а показывает, что изменилось: «две позиции недоступны», «у одной изменилась цена», «количество приведено к новой кратности». Тогда оптовик оформляет корректный актуальный заказ, а не копию устаревшего.

Шаблоны и повтор заказов естественно живут в личном кабинете, вместе с историей, документами и персональными ценами. Как устроен такой кабинет и что в нём собрать, мы разбираем в рамках услуги B2B-порталов и личных кабинетов — заказ по спецификации, шаблоны и повтор там становятся частью рабочего места закупщика.

Таблица-прайс с быстрым вводом (grid-заказ)

Розничная витрина с крупными карточками и галереями оптовику не нужна — она замедляет работу. Ему удобнее grid-заказ: плотная таблица-прайс, где в каждой строке товар, цена, остаток и поле количества, а внизу — итог и кнопка оформления. Оптовик проходит по строкам, проставляет количества сразу по многим позициям и оформляет весь набор одним действием. Это ближе к тому, как он привык работать с прайсом поставщика в Excel.

Что делает grid-заказ удобным для опта:

Grid-заказ, заказ по спецификации и загрузка из файла — это по сути три интерфейса одной идеи: оформить много позиций сразу. Grid удобен, когда оптовик работает с прайсом на витрине и выбирает по ходу; спецификация и загрузка — когда список уже готов заранее. Развитый оптовый каталог даёт все три способа, потому что разным закупщикам и разным заказам удобны разные пути. Общий знаменатель у них один — везде проверяются единицы, кратность, минимальная партия и цена по группе клиента.

Цены в grid-таблице, к слову, тоже зависят от того, кто смотрит: оптовик видит свою цену по группе, а не абстрактную. Как настроить цены по группам клиентов и объёму, чтобы в grid и спецификации подставлялась правильная цена, подробно разобрано в статье про оптовые цены по группам в 1С-Битрикс.

Характеристики, важные для B2B

Набор характеристик, которые показывают в карточке, у опта и розницы разный. Розничного покупателя интересуют внешний вид, бренд, эмоции; оптового закупщика — параметры, по которым он подбирает и сверяет товар: артикул, единица, фасовка, технические свойства. Оптовый каталог выносит на первый план именно рабочие характеристики, а «продающие» отходят на второй план.

Характеристики, которые для B2B важны особенно:

Технически всё это — свойства товара в инфоблоке каталога, часть из которых приходит из 1С, часть ведётся на сайте. Задача — не свалить их в кучу, а расставить по важности для оптовика: артикул, единица, фасовка и условия отгрузки — на видном месте, технические параметры — в структурированной таблице характеристик, по которой удобно сверять и фильтровать. Хорошо структурированные характеристики делают grid-заказ и поиск по артикулу по-настоящему быстрыми.

Обмен с 1С: единицы, упаковки, кратность

Почти всё, о чём шла речь выше — единицы измерения, упаковки с коэффициентами, кратность, минимальные партии, остатки по складам, — в реальном B2B-проекте ведут не на сайте вручную, а в 1С и передают на сайт обменом. Это логично: товароучёт и так живёт в учётной системе, где у номенклатуры заданы единицы, фасовки и склады. Дублировать эти справочники на сайте — значит плодить расхождения. Поэтому оптовый каталог на сайте — это во многом «проекция» данных из 1С.

Как параметры оптового каталога приходят из 1С:

Обмен идёт по формату CommerceML — стандарту выгрузки товаров и заказов между 1С и сайтом. Задача разработки — правильно сопоставить поля обмена со свойствами каталога: чтобы единица «приехала» в единицу, коэффициент упаковки — в коэффициент, кратность — в кратность, а не в произвольное текстовое свойство. Если сопоставление сделано небрежно, единицы и упаковки попадут в товар как обычный текст и не будут работать в корзине — форма заказа их «не увидит». Общую механику обмена, настройку выгрузки и типовые проблемы синхронизации мы разбираем в статье про интеграцию магазина с 1С.

Единицы и упаковки: из 1С в каталог 1С (учёт) • единица измерения • упаковки, коэф-ты • кратность, минимум • остатки по складам • цены по типам Обмен CommerceML выгрузка товаров Каталог Битрикс • свойство «единица» • коэф-ты упаковок • кратность заказа • склады, остатки • форма заказа Правильное сопоставление полей — условие того, что кратность и единицы работают в корзине
Схема: единицы, упаковки, кратность, остатки и цены ведут в 1С и передают обменом по CommerceML, раскладывая их в свойства каталога Битрикса, которые использует форма заказа.

Реализация: каталог и свойства единиц

Перейдём к тому, как оптовый каталог собирается технически. Основа — инфоблок каталога в 1С-Битрикс с включённым торговым каталогом, поверх которого настраиваются единицы, упаковки, цены и склады. Единицы измерения хранятся в справочнике единиц торгового каталога, а привязка товара к единице, коэффициенты упаковок и кратность — это свойства и настройки конкретного товара.

Что настраивают на уровне каталога и свойств:

  1. Справочник единиц. Заводят все нужные единицы измерения — штука, упаковка, коробка, паллет, метр, килограмм, литр, квадратный метр — как основу для товаров.
  2. Базовая единица товара. У каждого товара указывают базовую единицу, в которой задаётся цена и хранится остаток.
  3. Свойства упаковок. Заводят свойства под коэффициенты упаковок (сколько базовых единиц в упаковке, коробке, паллете), чтобы форма заказа могла пересчитывать.
  4. Кратность и минимум. Добавляют свойства кратности заказа и минимальной партии — их будет проверять форма и корзина.
  5. Точность количества. Для весового и метражного товара включают дробную точность и шаг ввода.
  6. Склады и остатки. Настраивают склады торгового каталога, чтобы остатки раскладывались по ним из обмена.

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

Кастомная форма заказа

Свойства единиц, упаковок и кратности сами по себе ничего не делают — их должна использовать форма заказа. Стандартная розничная форма «количество плюс-минус штука» для опта не годится: она не знает про упаковки, не проверяет кратность и минимальную партию, не умеет работать со списком позиций. Поэтому оптовый каталог почти всегда получает кастомную форму заказа — на карточке, в grid-таблице и в спецификации.

Что делает оптовая форма заказа поверх стандартной:

Критически важно, чтобы все проверки — кратность, минимальная партия, доступность по остатку, единица — дублировались на сервере, а не жили только в JavaScript формы. Клиентская проверка удобна для мгновенной подсказки оптовику, но она не защита: через загрузку файла, прямой запрос или ошибку интерфейса некорректное количество может попасть в заказ. Серверная проверка при добавлении в корзину и при оформлении — последний рубеж, который гарантирует, что в заказ не пройдёт некратное количество или объём ниже минимума. Это ровно тот принцип, что делает оптовую форму заказа надёжной, а не «красивой на витрине».

Проверка — на сервере: кратность, минимальная партия и единица должны проверяться при добавлении в корзину и при оформлении заказа на бэкенде, а не только в поле ввода. Иначе через быстрый заказ, загрузку из файла или прямой запрос в заказ попадёт то, что нельзя отгрузить, и это всплывёт уже на складе.

Частые проблемы кратности и единиц

Оптовый каталог ломается предсказуемо — почти всегда на стыке единиц, упаковок и кратности. Разберём самые частые проблемы и их причины, чтобы вы узнавали их заранее.

Заказали количество не кратно упаковке. Самая частая жалоба склада: в заказе 20 штук при упаковке 12. Причина почти всегда одна — кратность задана в товаре, но не проверяется на всех путях попадания в заказ. На витрине поле, может, и округляет, но через быстрый заказ, загрузку файла или старую корзину некратное количество проходит. Лечится сквозной серверной проверкой кратности.

Неверная единица измерения. Цена задана за килограмм, а количество считается в штуках; или остаток в метрах, а на витрине «шт.». Итог — бессмысленная сумма заказа и неправильное планирование. Причина — единица не зафиксирована как базовая и разъезжается между ценой, остатком и заказом. Лечится дисциплиной единицы: одна базовая единица на товар, всё считается в ней.

Коэффициент упаковки не совпадает с 1С. На сайте упаковка — 100 штук, в учёте — 120. Заказ на сайте расходится с отгрузкой, склад собирает не то. Причина — коэффициенты завели вручную и не синхронизировали с обменом. Лечится тем, что упаковки приходят из 1С, а не вводятся руками.

Дробное количество не принимается. Метражный товар нельзя заказать на 2,5 метра — форма требует целое. Причина — не включена дробная точность количества для товара. Лечится настройкой точности и шага ввода на весовом и метражном товаре.

Остаток не учитывает упаковки. Каталог предлагает заказать 250 штук при кратности 100, хотя целыми упаковками доступно 200. Причина — наличие показывается «в лоб», без согласования с кратностью. Лечится тем, что доступное к заказу количество считают с учётом упаковки.

Общий знаменатель всех этих проблем — единицы, упаковки и кратность настроены не сквозно: где-то заданы, где-то нет, где-то ведутся руками вместо обмена. Надёжный оптовый каталог собирают так, чтобы эти параметры шли из единого источника (1С) и проверялись на каждом этапе — от поля ввода до серверного оформления заказа.

Реализация оптового каталога пошагово

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

  1. Настройте единицы и упаковки. Заведите справочник единиц, задайте базовую единицу каждого товара и свойства коэффициентов упаковок — штука, упаковка, коробка, паллет.
  2. Задайте кратность и минимум. Добавьте свойства кратности заказа и минимальной партии; для весового и метражного товара включите дробную точность и шаг.
  3. Настройте склады и остатки. Заведите склады торгового каталога, решите, как показывать наличие оптовику — точными цифрами или статусами.
  4. Настройте цены по группам. Заведите оптовые и дилерские типы цен и привяжите их к группам клиентов, чтобы в grid и спецификации подставлялась своя цена.
  5. Сделайте кастомную форму заказа. Научите её шагать упаковкой, проверять кратность и минимум, принимать дробное количество и работать со списком позиций.
  6. Добавьте заказ списком. Быстрый заказ по артикулу, загрузку из Excel/CSV, заказ по спецификации, grid-таблицу, шаблоны и повтор заказов — способы оформить много позиций сразу.
  7. Настройте обмен с 1С. Сопоставьте поля обмена со свойствами каталога: единицы, коэффициенты упаковок, кратность, минимум, остатки по складам, цены по типам.
  8. Продублируйте проверки на сервере. Кратность, минимальную партию, единицу и доступность проверяйте при добавлении в корзину и оформлении, а не только в поле ввода.
  9. Проверьте на реальных заказах. Прогоните типичные сценарии — упаковки, дробный вес, загрузку файла, повтор — и сверьте, что заказ на сайте совпадает с тем, как товар реально отгружают.

Последний шаг критичен и его часто пропускают. Оптовый каталог легко «выглядит настроенным» в админке, но на реальных заказах ведёт себя не так: некратное количество проходит, весовой товар считается в штуках, коэффициент упаковки расходится с 1С. Проверка на живых сценариях, вместе со сверкой с отгрузкой на складе, ловит это до того, как ошибку заметит клиент или бухгалтерия.

Частые ошибки

Эти промахи в оптовом каталоге повторяются чаще всего — зная их, вы избежите расхождений заказа с отгрузкой:

Чек-лист

Короткий список для приёмки оптового каталога перед запуском:

  1. Единицы заданы. У каждого товара есть базовая единица, в которой считаются цена, остаток и кратность.
  2. Упаковки с коэффициентами. Фасовки (упаковка, коробка, паллет) заданы коэффициентами и совпадают с 1С.
  3. Кратность и минимум работают. Количество приводится к кратности и минимальной партии, проверка есть и на сервере.
  4. Дробность включена. Весовой и метражный товар заказывается дробным количеством с нужной точностью и шагом.
  5. Остатки по складам. Наличие показано по складам (или статусами) и согласовано с упаковками.
  6. Заказ списком доступен. Есть быстрый заказ по артикулу, загрузка из Excel/CSV, заказ по спецификации и grid-таблица.
  7. Шаблоны и повтор. Оптовик может сохранить набор и повторить прошлый заказ с актуализацией цен и остатков.
  8. Обмен настроен. Единицы, упаковки, кратность, остатки и цены приходят из 1С в нужные свойства, а не в текст.
  9. Проверено на заказах. Типовые сценарии прогнаны, заказ на сайте совпадает с реальной отгрузкой.

Вывод

Оптовый каталог на 1С-Битрикс — это не «розница с оптовыми ценами», а отдельная конфигурация, где товар считают в единицах и упаковках с коэффициентами, заказ идёт кратно упаковке и не ниже минимальной партии, весовой и метражный товар берут дробным количеством, остатки показывают по складам, а оформляют заказ списком — по артикулу, из Excel, по спецификации, через grid-таблицу, повтором и шаблоном. Всё это опирается на данные, которые приходят из 1С обменом, и на кастомную форму заказа, которая эти данные использует.

Главный принцип — сквозная дисциплина единиц и кратности. Одна базовая единица на товар, упаковки как коэффициенты к ней, кратность и минимум, проверяемые на каждом пути в заказ, включая сервер, и все эти параметры — из единого источника, а не заведённые руками. Тогда заказ на сайте совпадает с реальной отгрузкой, склад не ловит некратные количества, а бухгалтерия — неверные суммы. Разобрать конкретный сценарий под ваш товароучёт и правила отгрузки можно в рамках нашей услуги — начните с сайта для B2B-компании или изучите смежные материалы в рубрике «B2B и опт».

Частые вопросы

Чем оптовый каталог на 1С-Битрикс отличается от розничного?

Розничный каталог продаёт штуками по одной цене и почти не думает об упаковках: покупатель кладёт товар в корзину поштучно и платит розничную цену. Оптовый каталог живёт по другим правилам. В нём товар считают не только в штуках, но и в упаковках, коробках, паллетах, погонных метрах, килограммах и литрах; заказ идёт кратно упаковке, а не как попало; есть минимальная партия, ниже которой отгрузка невозможна; цены зависят от группы клиента и объёма; остатки показываются по складам, потому что оптовику важно, откуда и когда он получит товар. Всё это требует, чтобы каталог хранил единицы измерения, коэффициенты упаковок и кратность заказа, а форма заказа их учитывала. Розничная витрина этого не делает, поэтому оптовый каталог — это отдельная конфигурация свойств, форм и логики корзины поверх той же платформы.

Что такое кратность упаковки и чем она отличается от минимальной партии?

Кратность упаковки — это шаг, которым можно менять количество товара в заказе. Если товар отгружается упаковками по 12 штук, кратность равна 12: заказать можно 12, 24, 36 штук, но не 15 и не 20. Минимальная партия — это нижняя граница заказа, меньше которой отгрузка невозможна: например, «не менее 2 упаковок» или «от 100 штук». Это два разных ограничения, которые часто действуют вместе. Кратность отвечает на вопрос «каким шагом можно набирать количество», минимальная партия — «сколько минимум нужно заказать». Товар может иметь кратность 12 и минимальную партию 24 штуки: тогда меньше двух упаковок не отгрузят, а набирать можно только по целой упаковке. В форме заказа оба ограничения проверяются одновременно — количество округляется до кратного и сверяется с минимумом.

Как в опте продавать весовой и метражный товар с дробным количеством?

Для весового, объёмного и метражного товара единицей измерения служит не штука, а килограмм, литр, погонный метр или квадратный метр, и количество в заказе может быть дробным — 2,5 кг, 0,75 л, 14,3 м. Чтобы это работало, у товара включают дробную точность количества (сколько знаков после запятой допустимо) и задают базовую единицу измерения. При этом дробность нередко сочетается с кратностью: кабель отгружают бухтами по 50 метров, значит единица — метр, кратность — 50; ткань режут от 0,5 метра, значит шаг — 0,5. Важно, чтобы и цена, и остаток считались в той же единице: если цена задана за килограмм, а количество — в штуках, заказ посчитается неверно. Поэтому единицу измерения фиксируют один раз на уровне товара и используют её сквозно — в цене, остатке, кратности и в форме заказа.

Что такое заказ по спецификации и зачем он оптовику?

Заказ по спецификации — это оформление заказа сразу по готовому списку позиций, а не поштучным обходом каталога. Оптовик обычно заранее знает, что ему нужно: у него есть список артикулов с количествами — в Excel, в прайсе поставщика, в собственной учётной программе или в прошлом заказе. Заказ по спецификации позволяет ввести или загрузить этот список целиком и получить готовую корзину: система находит товары по артикулам, подставляет цены и остатки, проверяет кратность и минимальную партию, а оптовику остаётся подтвердить заказ. Это радикально быстрее, чем искать каждую из сотен позиций в каталоге вручную. Для B2B, где заказы регулярные и объёмные, заказ по спецификации — не украшение, а основной способ оформления: он экономит время закупщика и снижает число ошибок при переносе позиций.

Откуда в каталог попадают единицы, упаковки и кратность?

В большинстве B2B-проектов эти данные ведут не на сайте вручную, а в 1С, и передают на сайт обменом. В учётной системе у номенклатуры заданы базовая единица измерения, упаковки с коэффициентами пересчёта, кратность и минимальные партии — это часть товароучёта, который и так ведётся для склада и продаж. При обмене по формату CommerceML эти характеристики выгружаются вместе с товаром и раскладываются в свойства каталога Битрикса: единица измерения, коэффициенты упаковок, кратность заказа. Так на сайте не приходится дублировать справочники — они приходят из единого источника. Задача разработки — правильно сопоставить поля обмена со свойствами каталога и научить форму заказа их использовать. Если этого не сделать, единицы и кратность «приедут» в товар как обычный текст и не будут работать в корзине.

Как показывать остатки по складам оптовику?

Оптовику мало знать, что товар «в наличии» — ему важно, сколько именно доступно и на каком складе, потому что от этого зависит объём и сроки отгрузки. Поэтому в опте остатки показывают детальнее: не абстрактный статус «есть/нет», а количество по складам — центральный, региональный, транзитный, с датой ближайшего прихода. Оптовик видит, что 300 штук есть на основном складе, ещё 500 — на региональном, а остальное придёт к определённому сроку, и планирует заказ под это. Технически остатки по складам тоже приходят из 1С обменом и раскладываются по складам каталога Битрикса. Важно решить, показывать ли точные цифры или диапазоны/статусы: некоторые компании не раскрывают точные остатки конкурентам, тогда показывают «много / мало / под заказ» с сохранением детализации по складам для менеджера.

Что происходит, если оптовик заказал количество не кратно упаковке?

Правильно настроенный каталог не должен допускать некратного количества в принципе. Форма заказа при вводе количества округляет его до ближайшего кратного и показывает подсказку: «отгрузка упаковками по 12 штук, округлено до 24». Если оптовик вводит 20, система предлагает 12 или 24 и не даёт положить в корзину 20. Проблемы начинаются, когда кратность задана в товаре, но не проверяется в форме, или проверяется только на витрине, а не на сервере: тогда через быстрый заказ, загрузку из файла или прямой запрос в корзину попадает некратное количество, и его ловят уже на складе при сборке — с ручными правками, задержками и недовольством клиента. Поэтому проверку кратности делают сквозной: и в поле ввода, и при загрузке спецификации, и на бэкенде при оформлении заказа, чтобы некратное количество не прошло ни одним из путей.

Какая редакция 1С-Битрикс нужна для оптового каталога с упаковками?

Единицы измерения, свойства товаров и инфоблоки есть во всех редакциях с модулем «Информационные блоки», но полноценный оптовый каталог с торговым каталогом, ценами по группам, остатками по складам и обменом с 1С требует редакции с интернет-магазином — «Малый бизнес» или «Бизнес». Для развитого B2B с упаковками, кратностью, заказом по спецификации, grid-заказом и личным кабинетом обычно берут «Бизнес»: она даёт больше возможностей по складам, ценам, правам и торговому каталогу. Учтите, что упаковки с коэффициентами, кратность и заказ по спецификации — это, как правило, не «коробочная галочка», а доработка: свойства единиц, кастомная форма заказа и настройка обмена делаются под конкретный товароучёт. Редакция даёт фундамент, а рабочий оптовый каталог собирается поверх него под ваши правила отгрузки.

Поделиться:

Нужен оптовый каталог на 1С-Битрикс?

Настроим единицы измерения и упаковки, кратность и минимальную партию, остатки по складам, заказ по спецификации, grid-заказ и обмен с 1С — под ваш товароучёт и правила отгрузки. Рассчитаем работу по вашим условиям.

Услуга «Сайт для B2B»

Игорь Воскресенский

Игорь Воскресенский — разработчик студии B2Bsite. С 2014 года команда собирает B2B-витрины и оптовые каталоги на 1С-Битрикс: единицы и упаковки, кратность и минимальные партии, остатки по складам, заказ по спецификации, grid-заказ и обмен с 1С для среднего и крупного бизнеса.

← Все статьи блога