БесплатноБесплатный аудит сайта и кода на 1С-Битрикс при заказе доработки или поддержки

Быстрый заказ по артикулу и загрузка из Excel для B2B

Быстрый заказ по артикулу и загрузка из Excel для B2B на 1С-Битрикс: строка быстрого заказа, массовое добавление в корзину, проверка кратности и наличия

Розничный покупатель приходит в каталог выбирать: листает, сравнивает, кладёт в корзину пару товаров. Оптовик так не работает. Он знает свою номенклатуру наизусть, у него на руках список артикулов и количеств, и заставлять его открывать каждую карточку по отдельности — значит красть его время. Закупщик, которому нужно завести заказ на 60 позиций, не хочет шестьдесят раз пройти путь «поиск → карточка → выбор → в корзину». Он хочет вставить готовый список и получить собранную корзину. Именно для этого в B2B-магазине на 1С-Битрикс делают быстрый заказ по артикулу и загрузку заказа из Excel.

Эта статья — практический разбор того, как устроен быстрый заказ по артикулу на Битрикс для опта: строка ввода с автодополнением, массовое добавление в корзину списком «артикул;количество», загрузка заказа из Excel и CSV, сопоставление артикулов, проверка кратности и минимальной партии, наличие по складам и персональные цены по группе клиента. Материал из нашей практики разработки сайтов для B2B-компаний — по делу, без обещаний «мгновенного роста продаж».

Коротко

  • Быстрый заказ по артикулу — способ набрать корзину не хождением по каталогу, а вводом кодов: строка с автодополнением по артикулу, коду и названию.
  • Массовое добавление в корзину — вставка списка «артикул;количество» и оптовый заказ из Excel/CSV собирают десятки позиций одним действием.
  • Ключ к доверию — прозрачный разбор: что нашлось, что нет, что скорректировано по кратности и наличию, показывают до подтверждения корзины.
  • Артикулы, персональные цены, остатки, кратность и минимальная партия приходят из 1С — сайт применяет их при сборке заказа.

Зачем оптовику быстрый заказ

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

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

Выгода здесь двусторонняя, и назовём её честно, без завышенных обещаний:

При этом быстрый заказ — не замена каталогу, а дополнение к нему. Каталог остаётся нужен: новым партнёрам для знакомства с ассортиментом, для SEO-трафика, для тех позиций, которые дилер выбирает, а не знает заранее. Быстрый заказ закрывает противоположный сценарий — закупку по заранее известному списку. Хороший B2B-магазин даёт оба пути и не навязывает оптовику розничный путь через карточки.

Что такое быстрый заказ по артикулу

Под «быстрым заказом» на практике понимают несколько разных, но родственных инструментов. Полезно сразу разложить их по смыслу, чтобы при постановке задачи вы понимали, что именно вам нужно, а не просили абстрактную «форму быстрого заказа».

ИнструментЧто этоКогда удобен
Строка быстрого заказаОдно поле с автодополнением: ввёл артикул — подставился товарДобавить несколько известных позиций
Таблица быстрого заказаНесколько строк «артикул + количество» на одной страницеНабрать заказ на 10–30 позиций вручную
Вставка спискаПоле, куда вставляют текст «артикул;количество» построчноЕсть готовый список в блокноте или таблице
Загрузка из Excel/CSVИмпорт заказа из файла с сопоставлением артикуловЕсть выгрузка из учётной системы дилера
Шаблон закупкиСохранённый список регулярной поставкиПовторяющийся однотипный заказ

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

Запомните суть: быстрый заказ — это не «ещё одна кнопка», а альтернативный вход в корзину для тех, кто заказывает по списку. Он не отменяет каталог, а работает параллельно ему. Ошибка — думать, что достаточно одного инструмента: строка, вставка списка и загрузка файла закрывают разные объёмы и разные привычки закупщиков.
Строка быстрого заказа A-100▏ артикул / код / название В корзину A-1001 · Кабель ВВГ 3×2.5 124 ₽ A-1002 · Кабель ВВГ 3×1.5 96 ₽ A-1005 · Автомат 16А 210 ₽ совпадение по артикулу и названию Корзина A-1001 · 40 шт A-1005 · 12 шт цена группы клиента
Схема: дилер вводит артикул в строку быстрого заказа, автодополнение подсказывает товары по коду и названию, выбранная позиция уходит в корзину по цене его группы.

Способы быстрого набора заказа

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

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

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

Строка быстрого заказа с автодополнением

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

Что делает строку быстрого заказа удобной именно для B2B:

Тонкий момент — что именно считать совпадением. Артикул обычно ищут точным или префиксным совпадением, а название — по вхождению слов. Если смешать всё в один нечёткий поиск, подсказки замусорятся: на запрос «100» выпадут и артикул A-100, и все товары со «100» в названии. Поэтому приоритет отдают точному совпадению по артикулу, а поиск по названию идёт ниже. Логику распознавания кодов и приоритетов мы подробно разбираем в статье про поиск по артикулу для B2B-каталога — здесь важно, как этот поиск проявляется именно в быстром заказе.

Поиск по артикулу, коду и названию

Автодополнение в быстром заказе держится на поиске, и от его качества зависит всё. Если строка не находит товар по коду, которым дилер привык оперировать, инструмент бесполезен — партнёр вернётся к почте и менеджеру. Поэтому важно заранее договориться, по каким полям и как ищем.

Типовой набор полей, по которым распознают позицию в B2B:

ПолеТип совпаденияНюанс
Артикул товараТочное / префиксноеГлавный ключ, приоритет в выдаче
Внутренний код (из 1С)ТочноеДилер может знать код учёта, а не витринный артикул
ШтрихкодТочноеУдобно при сканере или выгрузке со штрихкодами
Артикул производителяТочное / нормализованноеОптовик часто оперирует кодом вендора
НазваниеПо вхождению словЗапасной путь, ниже по приоритету

Отдельная головная боль опта — разнобой в написании артикулов. Один и тот же код у поставщика и у дилера может отличаться пробелами, дефисами, регистром, ведущими нулями: «A-1001», «A1001», «a 1001», «0001001». Чтобы поиск не спотыкался об это, артикулы нормализуют — приводят к единому виду (убирают лишние символы, выравнивают регистр) и сравнивают нормализованные значения. Без нормализации дилерский файл с «другим» написанием кодов не сопоставится, хотя товары те же.

Ещё один вопрос — множественные артикулы у одного товара. В опте нередко у позиции есть и собственный артикул, и код 1С, и артикул производителя, и старый код после смены номенклатуры. Хорошая реализация умеет искать по всем этим значениям и вести к одному товару, чтобы дилер нашёл позицию под любым знакомым ему кодом. Как устроить такой мультипоиск и нормализацию, мы разбираем в отдельном материале про поиск по артикулу.

Массовое добавление списком «артикул;количество»

Когда позиций много, вводить их по одной в строке уже долго. Здесь помогает массовое добавление в корзину — поле, куда дилер вставляет готовый список строк вида «артикул;количество», по одной на позицию. Он копирует список из блокнота, из письма или прямо из своей таблицы Excel — и система разбирает весь блок разом.

Формат вставки делают максимально терпимым, потому что дилеры копируют по-разному:

После вставки система показывает предпросмотр разбора: таблицу с тем, что распозналось (артикул, найденный товар, цена, скорректированное количество), и отдельным блоком — что не нашлось. Дилер видит результат до того, как корзина собрана, может поправить проблемные строки и только потом подтвердить. Это тот же принцип прозрачности, что и при загрузке файла: сначала показать, потом добавить.

По делу: массовое добавление списком — недооценённая функция. Её дёшево сделать (не нужен парсер файлов), а закрывает она едва ли не самый частый сценарий: у закупщика уже есть список в почте или в таблице, и ему проще вставить текст, чем сохранять и загружать файл. Начинать быстрый заказ часто разумно именно со вставки списка.
Вставка списка «артикул;количество» A-1001;40 A-1002;24 A-1005;12 A-2010;100 A-9999;6 вставлено из Excel / блокнота Разбор строк артикул → товар цена · кратность Корзина 4 позиции добавлены A-1005 → 12 (кратно) по ценам группы Не найдено: A-9999 вынесено для решения
Схема: вставленный список «артикул;количество» проходит через единый разбор — распознанные позиции идут в корзину с проверкой кратности, ненайденные выносятся отдельным блоком.

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

Флагманская B2B-функция — загрузка заказа из Excel/CSV. Дилер выгружает у себя список «артикул + количество» (из своей учётной системы, из прайса, из инвентаризации) и загружает файл на сайт. Система парсит его, сопоставляет артикулы с товарами, проверяет наличие и кратность, показывает разбор и собирает корзину. То, что вручную заняло бы полчаса, происходит за минуту.

Хороший сценарий загрузки состоит из понятных шагов, и каждый из них важен для доверия дилера:

  1. Загрузка файла. Дилер выбирает XLSX, XLS или CSV. Полезно дать шаблон-образец, чтобы структура столбцов совпадала с ожидаемой.
  2. Определение столбцов. Система понимает, где артикул, а где количество — по заголовкам или по указанию дилера, если столбцы нестандартные.
  3. Парсинг строк. Файл разбирается построчно, значения нормализуются, пустые и служебные строки отсеиваются.
  4. Сопоставление артикулов. Каждый код ищется среди товаров по артикулу, коду 1С и другим полям с учётом нормализации.
  5. Проверки. Для найденных позиций проверяются доступность дилеру, наличие по складам, кратность и минимальная партия; цена берётся по группе клиента.
  6. Отчёт о разборе. Дилер видит таблицу: что добавлено, что скорректировано, что не найдено или недоступно — с исходными строками файла.
  7. Подтверждение корзины. Только после просмотра отчёта распознанные позиции переносятся в корзину, и дилер оформляет заказ.

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

Excel / CSV артикул + кол-во Парсинг строки, столбцы Проверка наличие · кратность цена группы Корзина + отчёт разбора Отчёт: 46 добавлено · 3 округлено по кратности · 2 не найдено · 1 нет на складе
Схема: загрузка из Excel проходит четыре шага — парсинг, сопоставление, проверка и сборка корзины — и завершается понятным отчётом о том, что распозналось, что скорректировано и что требует внимания.

Парсинг файла: форматы, кодировки, разделители

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

Что должен уметь разбирать парсер оптового заказа:

Особенность файлаЧто учесть при парсинге
Формат XLSX / XLSЧитать современный и старый Excel; брать первый лист или указанный
Формат CSVПоддержать разделители «;», «,», табуляцию; распознать автоматически
Кодировки CSVUTF-8 и Windows-1251 — иначе кириллица в названиях «поедет»
Строка заголовковОпределить и не принять её за товар («Артикул», «Кол-во»)
Числа с форматированием«1 000», «1.000», «40,0» привести к числу количества
Лишние столбцыИгнорировать цену, название, комментарии — брать артикул и количество
Пустые и битые строкиПропускать, не роняя весь разбор

Особенно коварна кодировка CSV. Excel в России часто сохраняет CSV в Windows-1251, а веб ждёт UTF-8. Если это не учесть, кириллические названия и артикулы с буквами превратятся в «кракозябры», и сопоставление сломается. Поэтому парсер определяет кодировку и приводит содержимое к единому виду до разбора.

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

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

Сопоставление артикулов с товарами

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

Сопоставление — это не просто «найти строку в базе». В B2B оно осложнено несколькими факторами:

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

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

Обработка «не найдено» и неоднозначностей

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

Базовые сценарии и правильная реакция:

СитуацияКак должен вести себя быстрый заказ
Артикул не найденВынести строку в блок «не найдено» с исходным значением, не роняя импорт
Несколько товаров на артикулПредложить выбор или применить правило сопоставления, показать это дилеру
Товар недоступен группеОтметить как недоступный с пояснением, не добавлять в корзину
Количество не распознаноПодставить количество по умолчанию или показать строку для правки
Позиция снята с продажиОтметить и, если есть, предложить актуальную замену

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

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

Минимальная партия и кратность упаковки

Опт почти никогда не продаётся поштучно «как угодно». Товар идёт коробами, паллетами, упаковками: кратно 6, 12, 24 штукам, с минимальной партией отгрузки. Если быстрый заказ игнорирует эти правила, дилер набьёт корзину «неправильными» количествами, и заказ либо развалится на согласовании, либо уедет в 1С в некорректном виде. Поэтому проверка кратности и минимальной партии — обязательная часть сборки.

Как это работает при быстром заказе и загрузке файла:

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

И снова важна прозрачность. Любую корректировку количества система показывает дилеру: «вы указали 40, округлили до 48 — кратность упаковки 12». Молчаливое изменение количества воспринимается как ошибка магазина, даже если оно правильное. Явное объяснение снимает вопросы и повышает доверие к инструменту.

Проверки позиции быстрого заказа A-1005 · 40 из файла / строки Кратность 12 40 → 48 (округление вверх) Наличие по складам склад №1: 60 · доступно Цена группы «Дилеры» 210 ₽ вместо 260 ₽ В корзину 48 шт · 210 ₽
Схема: перед попаданием в корзину каждая позиция проходит три проверки — кратность упаковки, наличие по складам и цену группы клиента, — а результат показывается дилеру.

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

Оптовику критично важно знать не «есть ли товар вообще», а сколько его доступно прямо сейчас и на каком складе. Заказать 100 штук того, чего в наличии 30, — значит получить недопоставку или задержку. Поэтому быстрый заказ проверяет наличие в момент сборки корзины, а не показывает абстрактное «в наличии / нет».

Что важно учитывать при проверке наличия в B2B:

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

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

Цены по группе клиента в быстром заказе

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

Механика та же, что и в остальном B2B-каталоге: у товара несколько типов цен (розничная, оптовая, дилерская), а группа пользователя определяет, какую он видит. Дилер, добавляя позицию через быстрый заказ, получает цену своей группы; для ключевых партнёров это может быть индивидуальная цена из 1С по контрагенту. Подробно механизм персональных цен мы разбираем в статье про оптовые цены по группам клиентов в 1С-Битрикс — в быстром заказе он просто применяется при сборке корзины.

Несколько практических нюансов, о которых стоит помнить:

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

Шаблоны закупок и избранные списки

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

Как это устроено и зачем нужно:

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

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

«Нет в наличии», замены и поставка под заказ

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

Типовые случаи недоступности и разумная реакция:

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

Важно, чтобы недоступность не ломала весь заказ. Если из 60 позиций трёх нет на складе, дилер должен спокойно оформить 57 и отдельно решить, что делать с оставшимися: подождать, взять аналог или отказаться. Плохой сценарий — когда система либо молча выкидывает недоступное, либо, наоборот, блокирует оформление всего заказа из-за пары позиций.

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

Интеграция с 1С: артикулы, резерв, валидация

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

Что именно связывает быстрый заказ с 1С:

ДанныеНаправлениеРоль в быстром заказе
Артикулы, коды, штрихкоды1С → сайтКлючи для сопоставления позиций
Типы цен по контрагенту1С → сайтЦена группы клиента при добавлении
Остатки по складам1С → сайтПроверка наличия в момент заказа
Кратность и мин. партия1С → сайтОкругление и проверка количества
Оформленный заказсайт → 1СЗаказ уходит в учёт как есть
Валидация и резервсайт ↔ 1СПроверка артикулов и бронь при оформлении

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

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

Реализация в 1С-Битрикс: компоненты и кастом

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

Основные кирпичики:

Важно понимать: штатного «быстрого заказа для опта» в коробке Битрикса нет. Есть кирпичи — поиск, каталог, корзина, обмен, — из которых собирают инструмент. Строку с автодополнением можно построить на штатном поиске, но сопоставление по нескольким кодам с нормализацией, разбор вставленного списка, парсинг Excel/CSV, проверку кратности и наличия, отчёт о разборе — это проектная разработка. Готовые решения из Маркетплейса закрывают часть сценариев, но под конкретный каталог и обмен их почти всегда дорабатывают.

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

AJAX, производительность и UX для B2B

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

Что важно с точки зрения производительности:

Не менее важен и UX именно для B2B. Закупщик работает быстро и с клавиатуры, поэтому интерфейс быстрого заказа должен это поддерживать:

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

Безопасность и права в быстром заказе

Быстрый заказ работает с закрытыми данными опта — артикулами, персональными ценами, наличием, — поэтому к нему применимы те же правила безопасности, что и ко всему B2B-кабинету. Ошибки здесь опаснее, чем в рознице: можно раскрыть закрытый прайс или позволить заказать недоступный товар.

Три вещи, которые держат под контролем:

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

Безопасность = проверка на сервере: любое «скрыли в шаблоне» в быстром заказе — иллюзия защиты. Доступ к инструменту, доступность товара группе, цена и наличие должны проверяться на бэкенде при каждом добавлении, тогда закрытый опт нельзя обойти прямым запросом к AJAX-контроллеру.

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

Эти промахи повторяются в B2B-проектах чаще всего — зная их, вы сэкономите время и нервы партнёров:

Чек-лист быстрого заказа

Короткий список для приёмки быстрого заказа перед запуском — по нему удобно проверить, что B2B-минимум закрыт:

  1. Строка с автодополнением. Поиск по артикулу, коду 1С, штрихкоду и названию; приоритет точного совпадения; показ цены и наличия в подсказке.
  2. Нормализация артикулов. Коды приводятся к единому виду (пробелы, дефисы, регистр, ведущие нули), поиск по нескольким ключам.
  3. Массовое добавление списком. Вставка «артикул;количество» с терпимым парсером и предпросмотром разбора.
  4. Загрузка Excel/CSV. XLSX, XLS, CSV; разные разделители и кодировки; шаблон файла для дилера.
  5. Прозрачный разбор. Отчёт «добавлено / скорректировано / не найдено / недоступно» с исходными строками и правкой на месте.
  6. Проверка кратности и минимальной партии. Округление по согласованному правилу с явным сообщением дилеру.
  7. Проверка наличия. Остаток по складам с учётом резервов, поведение при нехватке определено.
  8. Цены по группе клиента. Персональная цена в подсказке, корзине и заказе совпадает; кэш с учётом пользователя.
  9. Шаблоны закупок. Сохранение списков, шаблон из прошлого заказа, пересчёт по актуальным ценам с диффом.
  10. Обработка недоступности. «Нет в наличии», частичная доступность, замены и «под заказ» не ломают весь заказ.
  11. Интеграция с 1С. Артикулы, цены, остатки, кратность из обмена; при необходимости — валидация и резерв при оформлении.
  12. Безопасность и скорость. Доступ только дилерам, проверки на бэкенде, индекс поиска, AJAX без перезагрузок.

Вывод

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

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

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

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

Быстрый заказ — это отдельный способ набрать корзину не хождением по карточкам, а вводом артикулов напрямую. Оптовик знает свою номенклатуру и коды, поэтому ему быстрее вписать «A-1001, 40 шт.» в строку, чем искать товар в каталоге через меню и фильтры. Технически это строка или таблица с автодополнением по артикулу, коду и названию: система подсказывает товар, подставляет цену группы клиента и добавляет позицию в корзину. Каталог остаётся для розницы и для тех, кто выбирает; быстрый заказ — инструмент для повторяющихся закупок по списку.

Как работает массовое добавление в корзину списком «артикул;количество»?

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

Можно ли загрузить оптовый заказ из файла Excel или CSV?

Да, это одна из самых востребованных B2B-функций. Дилер выгружает у себя список «артикул + количество» и загружает файл на сайт. Система парсит его (поддерживая XLSX, XLS и CSV с разными разделителями и кодировками), сопоставляет артикулы с товарами, проверяет наличие и кратность, показывает разбор и собирает корзину. Это превращает получасовую ручную сборку в минуту работы. Важно, чтобы парсер не «падал» на нестандартном файле и не выкидывал молча нераспознанные строки, а честно показывал их дилеру отдельным списком.

Как быстрый заказ проверяет минимальную партию и кратность упаковки?

Опт часто продаётся упаковками и коробами: товар идёт кратно 6, 12 или 24 штукам, и есть минимальная партия. При быстром заказе и загрузке из файла эти правила проверяются автоматически: если дилер указал 40 штук при кратности 12, система округляет до ближайшего допустимого значения (36 или 48) и предупреждает об этом, а не оформляет некорректное количество. Значения кратности и минимальной партии обычно приходят из 1С как свойства товара, а сайт лишь применяет их при сборке корзины. Правило округления (вверх, вниз, к ближайшему) — это бизнес-решение, которое согласуют заранее.

Показывает ли быстрый заказ персональные цены и наличие дилера?

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

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

Хороший быстрый заказ не роняет весь импорт из-за одной плохой строки. Ненайденный артикул выводится в отдельный список «не найдено» с исходным значением, чтобы дилер поправил код или заказал позицию иначе. Если один артикул соответствует нескольким товарам (например, из-за вариаций или дублей в каталоге), система предлагает выбор или применяет правило сопоставления. Всё, что распозналось, попадает в корзину, всё спорное — выносится для решения дилером. Это принцип «прозрачного разбора»: сначала показать результат, потом дать подтвердить.

Нужна ли интеграция с 1С для быстрого заказа по артикулу?

Сама механика быстрого заказа работает на данных каталога сайта, но её ценность напрямую зависит от обмена с 1С. Из 1С приходят артикулы и коды (по которым идёт сопоставление), персональные цены по контрагенту, остатки по складам, кратность и минимальная партия. Без актуального обмена дилер рискует заказать по устаревшей цене или несуществующее наличие. Для крупных проектов дополнительно делают валидацию артикулов и резервирование на стороне 1С в момент оформления, чтобы заказ не «рассыпался» между сайтом и учётом. Так что быстрый заказ и обмен с 1С проектируют вместе.

Можно ли сохранять шаблоны повторных закупок и избранные списки?

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

Поделиться:

Нужен быстрый заказ по артикулу и загрузка из Excel?

Внедрим на вашем 1С-Битрикс строку быстрого заказа с автодополнением, массовое добавление списком, загрузку заказа из Excel/CSV с прозрачным разбором, проверку кратности, наличия и персональных цен, свяжем с обменом 1С. Рассчитаем работу по вашим условиям.

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

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

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

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