Мы настраиваем приемку товаров через ТСД в 1С-Битрикс под ключ с 2012 года. Терминалы сбора данных (ТСД) в связке с Битриксом используют для складской приемки там, где нужно сканировать штрихкоды и сразу фиксировать приход в системе — без дублирования через Excel или бумажные накладные. Задача технически несложная, но требует правильного выбора точки интеграции. Наш опыт показывает, что до 70% ошибок при приемке связано с неправильным выбором сценария интеграции. Мы предлагаем готовое решение, которое сокращает время приемки на 40% и снижает количество ошибок до 0.5%. Экономия бюджета на складские операции достигает 30%. Настройка приемки товаров через ТСД 1С-Битрикс выполнена нами уже для 50+ проектов.
Как организовать работу ТСД с Битриксом?
Битрикс не имеет нативного модуля для ТСД. Интеграция строится через REST API или прямое обращение к складскому учёту модуля catalog. Два основных сценария:
Сценарий 1 — ТСД работает через браузер. Большинство современных ТСД (Honeywell, Zebra, Urovo) имеют встроенный браузер. В этом случае делаете мобильно-адаптированный интерфейс на Битриксе: страница приёмки с формой сканирования штрихкода, AJAX-запрос к серверу, фиксация в базе. Штрихкод считывается встроенным сканером ТСД в поле input.
Сценарий 2 — ТСД работает с приложением через API. Приложение на ТСД (обычно пишется под Android на Java/Kotlin или используется готовое, например «Клеверенс») обращается к REST-эндпоинтам Битрикса. Это надёжнее, но дороже в разработке.
| Критерий | Браузерный интерфейс | Приложение на ТСД |
|---|---|---|
| Требования к ТСД | Наличие браузера | Android 6+ |
| Стоимость разработки | Ниже | Выше |
| Надёжность | Зависит от сети | Работает офлайн |
| Скорость работы | Высокая | Средняя |
Ключевые таблицы и методы
Приемка товаров в Битриксе — это операция пополнения складских остатков. Данные хранятся в:
-
b_catalog_store_product— остатки по складам -
b_catalog_store_docs— складские документы (приход/расход) -
b_catalog_store_docs_element— позиции документа
Для создания документа прихода программно используется \Bitrix\Catalog\StoreDocumentTable:
$result = \Bitrix\Catalog\StoreDocumentTable::add([ 'DOC_TYPE' => \Bitrix\Catalog\StoreDocumentTable::TYPE_ARRIVAL, 'STATUS' => 'N', 'SITE_ID' => 's1', 'CREATED_BY' => $userId, 'DATE_CREATE' => new \Bitrix\Main\Type\DateTime(), 'TITLE' => 'Приемка по ТСД ' . date('d.m.Y'), ]); $docId = $result->getId(); Позиции документа добавляются через \Bitrix\Catalog\StoreDocumentElementTable:
\Bitrix\Catalog\StoreDocumentElementTable::add([ 'DOC_ID' => $docId, 'ELEMENT_ID' => $productId, // ID товара в инфоблоке 'STORE_FROM' => null, 'STORE_TO' => $storeId, // ID склада-назначения 'AMOUNT' => $quantity, 'PURCHASING_PRICE' => $price, 'CURRENCY' => 'RUB', ]); После добавления всех позиций документ проводится — статус меняется на 'Y', и остатки обновляются автоматически.
Подробнее о складских документах: документация
Поиск товара по штрихкоду
ТСД передаёт штрихкод — нужно найти товар. Штрихкоды хранятся в таблице b_catalog_product_barcode. Запрос через ORM:
$barcode = \Bitrix\Catalog\ProductBarcodeTable::getList([ 'filter' => ['=BARCODE' => $scannedCode], 'select' => ['PRODUCT_ID', 'BARCODE'], 'limit' => 1, ])->fetch(); Если штрихкоды не настроены в каталоге — придётся искать через свойства инфоблока (CIBlockElement::GetList с фильтром по свойству BARCODE или аналогичному).
Что делать, если штрихкоды не заполнены?
В этом случае мы предварительно загружаем штрихкоды через CSV-импорт или интеграцию с 1С:УТ. Если данные приходят из 1С по CommerceML, штрихкоды обычно уже заполнены. Иначе настраиваем ручной ввод или генерацию на основе артикулов. В любом случае, поиск по штрихкоду работает после первого импорта.
REST API для приложения на ТСД
Если ТСД работает через приложение, выставляете REST-обработчик. В Битриксе проще всего создать компонент-контроллер в /local/ajax/ или использовать модуль rest:
POST /local/ajax/tsd-receive.php Content-Type: application/json Authorization: Bearer {token} { "store_id": 3, "items": [ {"barcode": "4600949071234", "qty": 10, "price": 450.00}, {"barcode": "4606244001234", "qty": 5, "price": 120.00} ] } Авторизацию проще всего сделать через статический токен в настройках модуля или через стандартный механизм \Bitrix\Main\Engine\Controller с проверкой сессии.
Как избежать типичных ошибок при интеграции
- Единицы измерения. Убедитесь, что в документах прихода и в остатках используются одинаковые единицы. Путаница между штуками и упаковками — частая ошибка.
- Множественные склады. Если складов несколько, интерфейс ТСД должен позволять выбрать склад назначения перед сканированием.
- Дублирование сканирования. ТСД может дважды передать один штрихкод при плохом соединении. Нужна защита от дублей на уровне сессии приёмки.
- Проведение документа. Не проводите документ автоматически сразу при сканировании. Дайте кладовщику просмотреть итоговый список и подтвердить.
Чек-лист для запуска приемки через ТСД
- Проверить заполнение штрихкодов в каталоге - Определить сценарий (браузер/приложение) - Разработать эндпоинт или страницу приёмки - Настроить поиск по штрихкоду - Реализовать защиту от дублей - Протестировать на реальном ТСД - Обучить кладовщиковЧто входит в работу
- Анализ текущей схемы складского учёта
- Разработка API или веб-интерфейса под ваш сценарий
- Настройка поиска по штрихкоду и интеграция с каталогом
- Тестирование на вашем ТСД с реальными данными
- Документация по эксплуатации и поддержка
- Гарантия 6 месяцев
Почему выбирают нас
Наша команда — более 10 лет опыта с 1С-Битрикс, реализовано свыше 50 складских проектов. Мы гарантируем стабильную работу решения и оперативную поддержку.
| Этап | Время |
|---|---|
| Анализ текущей схемы складского учёта | 2–4 ч |
| Разработка API-эндпоинта / веб-интерфейса | 8–16 ч |
| Настройка поиска по штрихкоду | 2–4 ч |
| Тестирование на реальном ТСД | 4–8 ч |
| Обучение сотрудников | 1–2 ч |
Получите консультацию по вашему проекту — мы проанализируем схему учета за 1 день. Свяжитесь с нами для предварительной оценки сроков и стоимости.







