Интеграция 1С-Битрикс с терминалами сбора данных (ТСД)

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс с терминалами сбора данных (ТСД)
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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С-Битрикс с терминалами сбора данных (ТСД)

ТСД — это ручной сканер со встроенным компьютером под Android или Windows CE/Mobile, который складские сотрудники используют для приёмки, инвентаризации, сборки заказов и перемещения товаров. Проблема без интеграции с Битрикс: сотрудник сканирует штрихкоды на ТСД, данные остаются на устройстве, потом кто-то вручную переносит их в систему. Задержка, ошибки ввода, расхождения остатков.

Архитектура взаимодействия

ТСД не обращается напрямую к БД Битрикс — это нарушение безопасности и технически нереализуемо в большинстве случаев. Правильная архитектура: ТСД ↔ REST API на стороне Битрикс ↔ модуль catalog / sale.

На стороне Битрикс реализуем набор API-эндпоинтов, ТСД с ними работает по WiFi склада. Для офлайн-работы ТСД хранит задание локально и синхронизируется при появлении соединения.

REST API для ТСД

Создаём контроллер /api/tsd/v1/ с методами:

Получение задания на сборку:

GET /api/tsd/v1/tasks/{task_id}
Authorization: Bearer {token}

Ответ содержит список позиций заказа: product_id, barcode, name, qty_required, location (место на складе из свойства товара WAREHOUSE_LOCATION).

Подтверждение сканирования позиции:

POST /api/tsd/v1/tasks/{task_id}/scan
{
  "barcode": "4601234567890",
  "qty_scanned": 1,
  "location": "A-02-05"
}

Контроллер проверяет штрихкод через \Bitrix\Catalog\ProductTable (поле BARCODE или связанная таблица b_catalog_product_barcode), находит соответствующую позицию задания, обновляет счётчик.

Завершение задания:

POST /api/tsd/v1/tasks/{task_id}/complete

При завершении задания сборки: все позиции собраны → заказ переходит в статус «Готов к отгрузке», отправляется уведомление менеджеру.

Инвентаризация через ТСД

Для инвентаризации создаём задание типа inventory:

class TsdInventoryTask
{
    public function create(int $warehouseId, array $productIds = []): array
    {
        // Создаём запись в bl_tsd_inventory_task
        $taskId = InventoryTaskTable::add([
            'WAREHOUSE_ID' => $warehouseId,
            'STATUS'       => 'pending',
            'CREATED_BY'   => $GLOBALS['USER']->GetID(),
        ])->getId();

        // Загружаем ожидаемые остатки из b_catalog_store_product
        $expected = \Bitrix\Catalog\StoreProductTable::getList([
            'filter' => ['STORE_ID' => $warehouseId],
            'select' => ['PRODUCT_ID', 'AMOUNT'],
        ]);

        while ($row = $expected->fetch()) {
            InventoryItemTable::add([
                'TASK_ID'    => $taskId,
                'PRODUCT_ID' => $row['PRODUCT_ID'],
                'QTY_SYSTEM' => $row['AMOUNT'],
                'QTY_ACTUAL' => null, // заполнит ТСД
            ]);
        }
        return ['task_id' => $taskId];
    }
}

ТСД загружает задание, сотрудник сканирует штрихкоды и вводит количество. API принимает результаты по одной позиции. После завершения — отчёт о расхождениях (qty_system vs qty_actual) доступен в административной части.

Приёмка товара через ТСД

При приёмке поставки сотрудник сканирует каждую единицу. API-обработчик /api/tsd/v1/receipt/scan сопоставляет штрихкод с позицией поставки (через таблицу поставщиков b_catalog_docs_element или кастомную таблицу закупок) и увеличивает счётчик принятых единиц.

По завершении приёмки автоматически:

  • Обновляются остатки в b_catalog_store_product
  • Создаётся документ прихода через \Bitrix\Catalog\Document\Store API
  • При расхождении с заказом — создаётся задача менеджеру в CRM

Авторизация ТСД

Каждый ТСД получает при настройке персональный API-токен (bl_tsd_tokens). Токен жёстко привязан к warehouse_id — устройство не может видеть задания другого склада. Токены не имеют срока истечения, но могут быть отозваны через интерфейс администратора.

Популярные ТСД и совместимость

Устройство ОС Протокол Статус
Honeywell CK65 Android 8+ REST/JSON Полная поддержка
Zebra TC52/TC57 Android 8+ REST/JSON Полная поддержка
Urovo DT50 Android REST/JSON Полная поддержка
Datalogic Memor 20 Android REST/JSON Полная поддержка
Motorola MC9200 Windows CE 7 REST через HTTPPOST Ограниченная

Для Windows CE устройств REST/JSON реализуется через нативные HTTP-библиотеки; рекомендуем ограничить функциональность только сборкой заказов.

Сроки

Этап Срок
Проектирование API и схемы БД 2 дня
API-контроллеры (сборка, приёмка, инвентаризация) 5–6 дней
Административный интерфейс управления заданиями 3 дня
Тестирование с реальным ТСД 2–3 дня
Итого 12–15 дней