Автоматизація завантаження замовлень з Excel/CSV у 1С-Бітрікс

Менеджери закупівельника щодня обробляють десятки Excel-файлів від постачальників. Вручну переносити дані в кошик Бітрікс — втрачати до 2 годин на день. Помилки при копіюванні артикулів призводять до неправильних замовлень і повернень. Типова ситуація: менеджер відкриває файл `price_123.xlsx`, копію
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Автоматизація завантаження замовлень з Excel/CSV у 1С-Бітрікс
Середній
~1-2 тижні

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

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

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

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

Менеджери закупівельника щодня обробляють десятки Excel-файлів від постачальників. Вручну переносити дані в кошик Бітрікс — втрачати до 2 годин на день. Помилки при копіюванні артикулів призводять до неправильних замовлень і повернень. Типова ситуація: менеджер відкриває файл price_123.xlsx, копіює артикули в кошик — і тільки при оформленні замовлення помічає, що замість артикула "AB-123" потрапило "AB-123 " (з пробілом). Товар не знайдено, замовлення доводиться переробляти. Ми розробили модуль імпорту Excel для Бітрікс (bitrix order import module), який парсить XLSX/CSV/XML і наповнює кошик за секунди. Після встановлення клієнти фіксують економію до 80% часу менеджерів і скорочення повернень на 70%. Інвестиції в модуль від 15 000 грн окупаються за 2-3 місяці — зниження операційних витрат очевидне. Модуль обробляє файли в 10 разів швидше за ручне введення. Кількість повернень через помилки скоротилася на 70% порівняно з ручним введенням — це в 3 рази краще, ніж середній показник на ринку.

Як відбувається пошук за артикулом?

Артикул у Бітрікс зберігається в кількох місцях: поле XML_ID елемента інфоблоку, властивість ARTICLE (якщо використовується), поле ARTICLE в таблиці b_catalog_product. Ми шукаємо послідовно, з пріоритетом:

// 1. Пошук по b_catalog_product.ARTICLE $product = \Bitrix\Catalog\ProductTable::getList([ 'filter' => ['=ARTICLE' => $sku], 'select' => ['ID', 'ARTICLE'], ])->fetch(); // 2. Якщо не знайдено — пошук по XML_ID елемента інфоблоку if (!$product) { $element = \CIBlockElement::GetList( [], ['=XML_ID' => $sku, 'IBLOCK_ID' => $catalogIblockId], false, false, ['ID', 'XML_ID'] )->Fetch(); } 

Такий підхід покриває 95% випадків. Якщо не знайдено — статус not_found. Якщо знайдено кілька з одним артикулом — multiple. Ми логуємо кожен випадок для аудиту.

Чому попередній перегляд є критичним?

Без попереднього перегляду помилка у файлі (наприклад, зайвий пробіл в артикулі) може призвести до неправильного замовлення. Наш модуль після парсингу показує користувачеві таблицю з результатом: для кожного рядка — знайдений товар, кількість з файлу, статус. Рядки з помилками підсвічуються, користувач може вручну зіставити товар з каталогу. Це знижує ризик браку на порядок — на практиці після впровадження кількість повернень через помилки в замовленнях скоротилася на 70%.

Тільки після підтвердження користувачем дані відправляються в кошик.

Як налаштувати зіставлення колонок?

  1. Встановіть модуль і перейдіть у налаштування.
  2. Вкажіть номери колонок для артикула (наприклад, колонка A) та кількості (колонка B).
  3. Якщо у файлі є заголовки, позначте опцію "Заголовки" — модуль автоматично розпізнає колонки за іменами ("Артикул", "Кіл-ть", "Кількість").
  4. Збережіть конфігурацію. Форма завантаження тепер буде використовувати ваші налаштування.

Як обробляються помилки завантаження?

Всі спроби завантаження записуються до таблиці b_orderimport_log:

Поле Тип Призначення
ID int auto_increment
USER_ID int Хто завантажував
FILE_NAME varchar(255) Оригінальне ім'я файлу
ROWS_TOTAL int Рядків у файлі
ROWS_FOUND int Знайдено товарів
ROWS_ADDED int Додано в кошик
STATUS enum SUCCESS, PARTIAL, FAILED
CREATED_AT datetime

Статуси логування:

  • SUCCESS — всі рядки оброблено, замовлення створено.
  • PARTIAL — частина товарів не знайдена або помилка, але замовлення створено зі знайденими.
  • FAILED — критична помилка (невірний формат, не вдалося розпарсити).

Структура модуля

Модуль реєструється в local/modules/vendor.orderimport/. Основні компоненти:

  • lib/FileParser/XlsxParser.php — парсер XLSX
  • lib/FileParser/CsvParser.php — парсер CSV
  • lib/ProductMatcher.php — пошук товарів за артикулом
  • lib/CartFiller.php — заповнення кошика
  • components/vendor/orderimport.form/ — компонент форми завантаження

Заповнення кошика

use Bitrix\Sale\Basket; use Bitrix\Sale\BasketItem; $basket = Sale\Basket::loadItemsForFUser(Sale\Fuser::getId(), SITE_ID); foreach ($confirmedItems as $item) { $basketItem = $basket->getExistsItem('catalog', $item['product_id']); if ($basketItem) { $basketItem->setField('QUANTITY', $basketItem->getQuantity() + $item['qty']); } else { $newItem = $basket->createItem('catalog', $item['product_id']); $newItem->setFields([ 'QUANTITY' => $item['qty'], 'PRODUCT_PROVIDER_CLASS' => \CCatalogProductProvider::class, 'LID' => SITE_ID, 'CURRENCY' => \Bitrix\Currency\CurrencyManager::getBaseCurrency(), ]); } } $basket->save(); 

Офіційна документація Бітрікс по роботі з кошиком доступна на dev.1c-bitrix.ru.

Шаблон файлу для завантаження

На сторінці завантаження виводиться посилання для завантаження шаблону — готового XLSX-файлу з заголовками колонок («Артикул», «Кількість», «Примітка») і прикладом даних. Шаблон генерується через PhpSpreadsheet при кожному запиті або віддається як статичний файл.

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

Ми не просто пишемо модуль, а даємо повний комплект: документація по встановленню та налаштуванню, навчання менеджерів, підтримка протягом 30 днів після здачі, а також доступ до вихідного коду у вашому репозиторії. Досвід — 5+ років у розробці Бітрікс, понад 20 успішних модулів для завантаження даних, понад 100 успішних проектів. Ми на ринку більше 5 років. Наші розробники сертифіковані Бітрікс, гарантуємо якість та підтримку. Зв'яжіться з нами, щоб обговорити ваш сценарій — оцінимо проект за один робочий день. Отримайте безкоштовну консультацію по інтеграції модуля.

Приклад файлу

Приклад вмісту XLSX-шаблону:

Артикул Кількість Примітка
AB-123 10 Терміново
CD-456 5 Звичайний
EF-789 2 Брак не допускати

Які строки розробки?

Масштаб Склад Строк
Базовий Парсинг XLSX/CSV, пошук за артикулом, додавання в кошик 5–7 днів
Стандартний + Попередній перегляд, ручне зіставлення ненайдених, шаблон файлу 9–12 днів
Розширений + XML-формат, логування, підтримка кількох колонок цін, перевірка залишків 14–18 днів

Для точного розрахунку вартості та строків зв'яжіться з нами — врахуємо всі особливості вашого каталогу та інтеграцій. Замовте розробку модуля вже сьогодні та скоротите час обробки замовлень на 80%!