Настройка приемки товаров через ТСД 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка приемки товаров через ТСД 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1181
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    813
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка приемки товаров через ТСД 1С-Битрикс

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

Как это работает в Битриксе

Битрикс не имеет нативного модуля для ТСД. Интеграция строится через REST API или прямое обращение к складскому учёту модуля catalog. Два основных сценария:

Сценарий 1 — ТСД работает через браузер. Большинство современных ТСД (Honeywell, Zebra, Urovo) имеют встроенный браузер. В этом случае делаете мобильно-адаптированный интерфейс на Битриксе: страница приёмки с формой сканирования штрихкода, AJAX-запрос к серверу, фиксация в базе. Штрихкод считывается встроенным сканером ТСД в поле input.

Сценарий 2 — ТСД работает с приложением через API. Приложение на ТСД (обычно пишется под Android на Java/Kotlin или используется готовое, например «Клеверенс») обращается к REST-эндпоинтам Битрикса. Это надёжнее, но дороже в разработке.

Ключевые таблицы и методы

Приемка товаров в Битриксе — это операция пополнения складских остатков. Данные хранятся в:

  • 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 или аналогичному).

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 с проверкой сессии.

На что обратить внимание

  • Единицы измерения. Убедитесь, что в документах прихода и в остатках используются одинаковые единицы. Путаница между штуками и упаковками — частая ошибка.
  • Множественные склады. Если складов несколько, интерфейс ТСД должен позволять выбрать склад назначения перед сканированием.
  • Дублирование сканирования. ТСД может дважды передать один штрихкод при плохом соединении. Нужна защита от дублей на уровне сессии приёмки.
  • Проведение документа. Не проводите документ автоматически сразу при сканировании. Дайте кладовщику просмотреть итоговый список и подтвердить.
Этап Время
Анализ текущей схемы складского учёта 2–4 ч
Разработка API-эндпоинта / веб-интерфейса 8–16 ч
Настройка поиска по штрихкоду 2–4 ч
Тестирование на реальном ТСД 4–8 ч
Обучение сотрудников 1–2 ч