Настройка выгрузки серийных номеров и партий из 1С в Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка выгрузки серийных номеров и партий из 1С в Битрикс
Простой
~1 день
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1321
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    914
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    663
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    810
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    709
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1043

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

Почему стандартный обмен не подходит для серий и партий?

CommerceML (стандарт передачи данных между 1С и Битрикс) не оперирует сериями и партиями напрямую. В XML-структурах CommerceML нет тегов для серийных номеров в остатках товаров. Приходится расширять формат: добавлять в документ ДополнительныеРеквизиты или создавать отдельные файлы обмена. Альтернатива — REST API, но 1С УТ/КА не предоставляют готовых REST-сервисов для партионного учёта. Стандарт CommerceML не поддерживает серийные номера (см. официальную документацию).

Что такое серии и партии в 1С

Серия — уникальный идентификатор конкретного экземпляра (серийный номер). Один телевизор = одна серия. Учёт в регистре ТоварыНаСкладах ведётся в разрезе серий.

Партия — группа товаров одного прихода с общими характеристиками (дата изготовления, срок годности, номер партии производителя). Один ящик молока определённой даты = одна партия. На складе может быть 10 ящиков двух разных партий.

В 1С:УТ 11 серийный учёт включается в настройках номенклатуры: Использовать серии. Партионный учёт — отдельная настройка. Оба механизма увеличивают детализацию складских данных и усложняют обмен с сайтом.

Что реально нужно на сайте

Не всегда нужно передавать все серии и партии. Типичные сценарии:

Сценарий Описание Сложность реализации
Проверка серийного номера Покупатель вводит серийный номер на сайте и получает информацию о гарантии, дате производства Низкая — достаточно API-запроса к 1С
Срок годности в карточке товара В карточке товара отображается ближайший срок годности от имеющихся партий Средняя — требуется настройка регламентного задания в 1С и обработка в Битрикс
Выбор конкретной партии покупателем Покупатель видит список доступных партий (даты розлива, партии поставки) и выбирает нужную Высокая — каждая партия становится отдельным SKU, требуется HighloadBlock, сложная логика

Техническая реализация: срок годности как атрибут

Наиболее востребованный случай — передача ближайшего срока годности из 1С на сайт.

В 1С (на стороне УТ/КА) создаём регламентное задание:

  1. Для каждой позиции номенклатуры с партионным учётом — определяем ближайшую дату окончания срока годности из имеющихся остатков
  2. Записываем эту дату в ДополнительныйРеквизит номенклатуры «СрокГодности»
  3. При следующем обмене этот реквизит попадёт в 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 день — свяжитесь с нами. Закажите настройку выгрузки серий и партий под ключ. Получите консультацию прямо сейчас.