Налаштування приймання товарів через ТСД 1С-Бітрікс

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

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

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування приймання товарів через ТСД у 1С-Bitrix

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

Як це працює у Bitrix

Bitrix не має нативного модуля для ТСД. Інтеграція будується через REST API або прямий доступ до складського обліку модуля catalog. Два основні сценарії:

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

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

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

Приймання товарів у Bitrix — це операція поповнення складських остатків. Дані зберігаються у:

  • 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-обробник. У Bitrix найпростіше створити компонент-контролер у /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 ч