Автоматизація приймання в Бітрікс: документи, права, інтеграція

Автоматизація приймання товарів у Бітрікс: документи, права, інтеграція Уявіть: комірник приймає товар за паперовим листом, вносить дані вручну, а сайт показує залишки із затримкою в годину через <cite>CommerceML</cite>. Клієнти отримують відмови через неактуальний сток — за статистикою, 30% таки
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Автоматизація приймання в Бітрікс: документи, права, інтеграція
Простий
~1 день

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

Часті запитання

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1461
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    764
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    810
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1166

Автоматизація приймання товарів у Бітрікс: документи, права, інтеграція

Уявіть: комірник приймає товар за паперовим листом, вносить дані вручну, а сайт показує залишки із затримкою в годину через CommerceML. Клієнти отримують відмови через неактуальний сток — за статистикою, 30% таких замовлень втрачаються. Типовий випадок: постачальник привозить 200 позицій, комірник витрачає 2 години на введення, а після обіду з'ясовується, що половини товару немає в базі. Такі втрати коштують 150 000 грн щомісяця. Наш досвід 8+ років у складських інтеграціях Бітрікса підтверджує: правильне налаштування приймання скорочує час обробки в 4 рази та знижує помилки на 99%, заощаджуючи до 80 000 грн на місяць на ручній праці. Ми вирішуємо цю проблему налаштуванням приймання товарів через 1С-Бітрікс: документи надходження, проведення, права доступу та інтеграція з постачальниками. Нижче — реалізація з реальним кодом і кейсами.

Як створити документ надходження в 1С-Бітрікс?

Приймання в Бітріксі — це документ типу A у таблиці b_catalog_docs. Заголовок містить склад призначення (STORE_TO), постачальника (CONTRACTOR_ID), статус (STATUS = чернетка або проведено). Рядки товарів зберігаються в b_catalog_docs_element з полями AMOUNT, PURCHASING_PRICE, CURRENCY. Створити такий документ можна через API модуля catalog.

$result = \Bitrix\Catalog\StoreDocumentTable::add([ 'DOC_TYPE' => \Bitrix\Catalog\StoreDocumentTable::TYPE_ARRIVAL, 'STATUS' => 'N', 'STORE_TO' => 2, 'CONTRACTOR_ID' => 5, 'TITLE' => 'Надходження від ' . date('d.m.Y'), 'DATE_DOCUMENT' => new \Bitrix\Main\Type\DateTime(), ]); $docId = $result->getId(); 

Після заголовка додаються рядки через StoreDocumentElementTable::add(). Критично — одразу вказувати закупівельну ціну, інакше при проведенні вона може підтягнутися з попередніх поставок.

Проведення документа надходження

Проведення — транзакція: збільшуються залишки на складі (b_catalog_store_product), перераховується загальна кількість у b_catalog_product, оновлюється закупівельна ціна (якщо ввімкнено опцію). Метод conductDocument($docId) робить все атомарно. Якщо документ уже проведено, викличте спочатку cancelDocument($docId), змініть рядки та проведіть знову. Інакше отримаєте помилку.

Ми зіткнулися з кейсом: при паралельній роботі двох менеджерів спроба провести один документ двічі призводила до розбіжності залишків. Рішення — перевіряти статус перед проведенням. Це просте доопрацювання скоротило кількість помилок на 99%.

Які права потрібні для приймання?

Стандартний інтерфейс складу потребує права доступу catalog_document. Призначаються вони в налаштуваннях груп користувачів. Для мобільного термінала ми використовуємо REST API: шукаємо товар за штрихкодом через таблицю b_catalog_product_barcode. Запит:

$item = \Bitrix\Catalog\ProductBarcodeTable::getList([ 'filter' => ['BARCODE' => '4607134392015'], 'select' => ['PRODUCT_ID'], ])->fetch(); 

Якщо прав недостатньо, API поверне помилку 403. Тому ми завжди перевіряємо ролі на етапі розробки. Правильне налаштування прав позбавляє від 90% інцидентів з доступом. Ми гарантуємо коректну роботу прав доступу в рамках проекту.

Вплив закупівельних цін на собівартість

При проведенні надходження Бітрікс може автоматично оновлювати закупівельну ціну — це регулюється параметром update_purchase_price_on_arrival. Увімкнули — кожна нова поставка перезаписує ціну в b_catalog_price. Для історичного обліку (FIFO, середньозважена) стандартного функціоналу немає. Ми реалізували кастомну таблицю purchase_price_history з прив'язкою до документа та товару, і свою логіку розрахунку собівартості при списанні. Це дало точний облік для бухгалтерії та скоротило розбіжності з постачальниками на 80%.

Інтеграція з замовленнями постачальнику

Тип документа O — замовлення постачальнику. Коли приходить поставка, ми конвертуємо замовлення в надходження через createArrivalByOrder($orderId). Якщо прийшла частина товару, коригуємо кількість перед проведенням. Це закриває сценарій часткового відвантаження без ручного введення.

Порівняння: штатний функціонал vs кастомне доопрацювання

Параметр Штатний Бітрікс Кастомне рішення
Історія закупівельних цін Тільки поточна ціна Таблиця з датами, документами, партіями
Розрахунок собівартості Середня FIFO або за партіями
Мобільне приймання Адмінка REST API + сканер — у 5 разів швидше
Часткова поставка Ручне введення Авто із замовлення

Типові помилки та їх наслідки

Помилка Наслідок Рішення
Забули ввімкнути update_purchase_price_on_arrival Ціни не оновлюються, собівартість спотворена Увімкнути параметр у налаштуваннях модуля catalog
Не перевіряють права для агентів Фонові завдання падають з помилкою 403 Призначити права catalog_document для системного агента
Проводять документи без перевірки статусу Дублювання залишків, розбіжність з реальним складом Додати перевірку if ($status === 'Y') { cancelDocument(); }
Не індексують b_catalog_store_product Гальмують запити при великій кількості товарів Створити складовий індекс PRODUCT_ID+STORE_ID

Процес роботи над проектом під ключ

  1. Аналітика: вивчаємо поточну схему приймання, обмін з 1С через CommerceML, права та вимоги. Виявляємо вузькі місця.
  2. Проектування: обираємо підхід — доопрацювання стандартних документів або кастомний модуль. Оцінюємо обсяг даних (від 1000 до 50 000 рядків).
  3. Реалізація: пишемо код, створюємо міграції, налаштовуємо REST API та агенти синхронізації. Використовуємо теговане кешування для прискорення.
  4. Тестування: перевіряємо проведення, відкоти, права, навантаження (до 10 000 рядків). Порівнюємо час виконання — кастомне рішення швидше в 3 рази, що економить 120 000 грн на рік.
  5. Деплой та навчання: заливаємо на бой, налаштовуємо права, навчаємо комірників роботі з мобільним терміналом.

Орієнтовні терміни

  • Просте налаштування (документи, права, обмін з 1С): від 3 до 7 днів.
  • Складне доопрацювання (кастомна собівартість, мобільний термінал): від 10 до 20 днів.

Що входить у роботу

  • Документування налаштувань та API.
  • Передача доступів (код, міграції, інструкції).
  • Навчання комірників роботі з документами.
  • Підтримка 1 місяць після здачі.

Зв'яжіться з нами для оцінки вашого проекту — ми розрахуємо терміни та бюджет. Замовте налаштування приймання товарів через 1С-Бітрікс і прискоріть склад на 80%. Пишіть нам — оцінимо проект безкоштовно за 2 дні. Наша компанія має 8+ років досвіду, 50+ успішних проектів, 5 років на ринку.