В интернет-магазине электроники покупатель вводит серийный номер — и видит гарантийный срок, модель, дату продажи. Или клиент продуктового магазина выбирает молоко и видит, что в наличии партия со сроком годности до 25 мая. Без настройки выгрузки серий и партий из 1С в Битрикс такие сценарии невозможны. Стандартный обмен 1С-Битрикс через CommerceML передаёт цены, остатки и описания — но не серийные номера и партии. Для электроники, медтехники, продуктов и фармацевтики это критично: без серийного номера невозможно организовать гарантийное обслуживание, без партионного учёта — отследить сроки годности. Приходится дорабатывать обмен, чтобы сайт получал эти данные. Наш опыт показывает: даже минимальная передача (например, только срок годности) даёт бизнесу конкурентное преимущество и снижает количество возвратов.
Почему стандартный обмен не подходит для серий и партий?
CommerceML (стандарт передачи данных между 1С и Битрикс) не оперирует сериями и партиями напрямую. В XML-структурах CommerceML нет тегов для серийных номеров в остатках товаров. Приходится расширять формат: добавлять в документ ДополнительныеРеквизиты или создавать отдельные файлы обмена. Альтернатива — REST API, но 1С УТ/КА не предоставляют готовых REST-сервисов для партионного учёта. Стандарт CommerceML не поддерживает серийные номера (см. официальную документацию).
Что такое серии и партии в 1С
Серия — уникальный идентификатор конкретного экземпляра (серийный номер). Один телевизор = одна серия. Учёт в регистре ТоварыНаСкладах ведётся в разрезе серий.
Партия — группа товаров одного прихода с общими характеристиками (дата изготовления, срок годности, номер партии производителя). Один ящик молока определённой даты = одна партия. На складе может быть 10 ящиков двух разных партий.
В 1С:УТ 11 серийный учёт включается в настройках номенклатуры: Использовать серии. Партионный учёт — отдельная настройка. Оба механизма увеличивают детализацию складских данных и усложняют обмен с сайтом.
Что реально нужно на сайте
Не всегда нужно передавать все серии и партии. Типичные сценарии:
| Сценарий | Описание | Сложность реализации |
|---|---|---|
| Проверка серийного номера | Покупатель вводит серийный номер на сайте и получает информацию о гарантии, дате производства | Низкая — достаточно API-запроса к 1С |
| Срок годности в карточке товара | В карточке товара отображается ближайший срок годности от имеющихся партий | Средняя — требуется настройка регламентного задания в 1С и обработка в Битрикс |
| Выбор конкретной партии покупателем | Покупатель видит список доступных партий (даты розлива, партии поставки) и выбирает нужную | Высокая — каждая партия становится отдельным SKU, требуется HighloadBlock, сложная логика |
Техническая реализация: срок годности как атрибут
Наиболее востребованный случай — передача ближайшего срока годности из 1С на сайт.
В 1С (на стороне УТ/КА) создаём регламентное задание:
- Для каждой позиции номенклатуры с партионным учётом — определяем ближайшую дату окончания срока годности из имеющихся остатков
- Записываем эту дату в
ДополнительныйРеквизитноменклатуры «СрокГодности» - При следующем обмене этот реквизит попадёт в XML и обновит свойство в Битрикс
Альтернатива: прямой HTTP-запрос из Битрикс к сервису 1С при загрузке карточки товара. Но это создаёт зависимость скорости страницы от скорости 1С.
Как передаются серийные номера при заказе?
Если покупатель заказывает товар с серийным учётом — при отгрузке из 1С к заказу привязывается конкретный серийный номер. Этот номер полезно передать обратно в Битрикс: в личном кабинете покупатель видит серийные номера купленных товаров — это удобно для гарантийного обслуживания.
Обратная передача серийных номеров: в CommerceML заказ при обновлении статуса может содержать расширенные данные. Добавляем в обработку обновления статуса в Битрикс логику сохранения серийных номеров из ДополнительныеРеквизиты документа.
// Обработчик обновления заказа из 1С
function onOrderStatusUpdate($arOrder, $arXML) {
foreach ($arXML['ITEMS'] as $item) {
if (!empty($item['SERIAL_NUMBERS'])) {
saveSerialNumbers(
$arOrder['ID'],
$item['PRODUCT_ID'],
$item['SERIAL_NUMBERS']
);
}
}
}
Партионный учёт и резервирование
При оформлении заказа на сайте и передаче в 1С — нужно зарезервировать конкретную партию (особенно при коротком сроке годности). Стандартный механизм резервирования в 1С резервирует партию автоматически по алгоритму FEFO (First Expired First Out — сначала та, что раньше истечёт).
На сайте покупатель не выбирает партию — это делает 1С. Сайт только передаёт количество. 1С резервирует подходящую партию и может вернуть информацию о ней (дата годности зарезервированной партии) в ответе на заказ.
Почему REST API лучше CommerceML для передачи серий?
REST API позволяет обмениваться данными без привязки к XML-схеме CommerceML. Серийные номера передаются в формате JSON, что проще обрабатывать. Скорость обмена увеличивается в 2-3 раза, а ошибки синтаксиса исключены.Кейс из нашей практики: производитель продуктов питания
Наш клиент — производитель молочной продукции. Прямые B2B-продажи с сайта ритейлерам. Каждый заказ — конкретные SKU с учётом партий (дата производства, срок годности). Ритейлер хочет видеть на сайте не просто «молоко 1л», а «молоко 1л, произведено 10.03, годно до 20.03».
Реализовали через HighloadBlock «Партии»: при каждом обмене (раз в 2 часа) из 1С передаётся список доступных партий по каждой позиции. В карточке товара — выпадающий список «Выберите дату производства». При добавлении в корзину — сохраняется ID партии. При передаче заказа в 1С — GUID партии указывается в реквизитах позиции заказа.
1С резервирует конкретную партию — ошибок по сроку годности нет. Экономия клиента — снижение брака по срокам на 20%.
Что входит в работу
- Аудит текущего обмена 1С-Битрикс
- Проектирование схемы передачи серий/партий
- Доработка 1С (регламентные задания, допреквизиты)
- Доработка Битрикс (свойства, HL-блоки, обработчики заказов)
- Тестирование и запуск
- Документация и обучение
- Поддержка после внедрения
Мы работаем с 1С более 7 лет, выполнили более 30 интеграций с Битрикс. Оценим ваш проект за 1 день — свяжитесь с нами. Закажите настройку выгрузки серий и партий под ключ. Получите консультацию прямо сейчас.







