Разработка отчетов по остаткам товаров 1С-Битрикс

Мы разрабатываем специализированные отчёты по остаткам товаров для 1С-Битрикс под ключ. В нашей практике частый запрос: «Покажи, что заканчивается на складе». Задача решается по-разному в зависимости от структуры учёта: один склад или несколько, синхронизация с 1С или автономный учёт, торговые предл
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка отчетов по остаткам товаров 1С-Битрикс
Средний
~1-2 недели

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

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1439
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1013
  • 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
    751
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    872
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    791
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1153

Мы разрабатываем специализированные отчёты по остаткам товаров для 1С-Битрикс под ключ. В нашей практике частый запрос: «Покажи, что заканчивается на складе». Задача решается по-разному в зависимости от структуры учёта: один склад или несколько, синхронизация с 1С или автономный учёт, торговые предложения или простые товары. Стандартные средства Битрикс дают только базовые фильтры в административной части. Для операционной работы нужны специализированные отчёты. Наш опыт — 8+ лет, 50+ проектов — гарантирует, что вы получите работающее решение без сюрпризов. Экономия времени после внедрения — до 10 часов в неделю, а точность данных — 100%.

Какие проблемы решают отчёты по остаткам?

Менеджеры тратят часы на ручной сбор данных из разных разделов админки. Ошибки в Excel, устаревшие цифры, потерянные заказы из-за отсутствия товара — всё это решается автоматическими отчётами. Автоматизация исключает человеческий фактор: данные всегда актуальны на момент генерации, а пороги срабатывания настраиваются под категории товаров.

Как хранятся остатки в 1С-Битрикс?

Остатки в Битрикс хранятся в нескольких таблицах в зависимости от режима учёта:

  • b_catalog_product — поле QUANTITY (суммарный остаток), QUANTITY_RESERVED (зарезервировано)
  • b_catalog_store_product — остатки по складам (store_id, product_id, amount, quantity_reserved)

При работе с торговыми предложениями (SKU): базовый товар (b_iblock_element с типом товар) не имеет остатка — остатки задаются на уровне SKU (b_catalog_product.product_id = sku_element_id).

Какие SQL-запросы нужны для отчёта по остаткам?

Отчёт «товары с критическим остатком»

SELECT ie.id, ie.name, prop_art.value AS article, sect.name AS section, cp.quantity AS stock, cp.quantity_reserved AS reserved, cp.quantity - cp.quantity_reserved AS available FROM b_catalog_product cp JOIN b_iblock_element ie ON ie.id = cp.id LEFT JOIN b_iblock_element_property prop_art ON prop_art.iblock_element_id = ie.id AND prop_art.iblock_property_id = :article_prop_id LEFT JOIN b_iblock_section sect ON sect.id = ie.iblock_section_id WHERE ie.iblock_id = :iblock_id AND ie.active = 'Y' AND (cp.quantity - cp.quantity_reserved) <= :min_stock_threshold ORDER BY (cp.quantity - cp.quantity_reserved) ASC; 

Остатки по складам с детализацией (для многоскладского учёта)

SELECT ie.name AS product_name, prop_art.value AS article, cs.title AS store_name, cs.address AS store_address, csp.amount AS store_amount, csp.quantity_reserved AS store_reserved FROM b_catalog_store_product csp JOIN b_catalog_store cs ON cs.id = csp.store_id AND cs.active = 'Y' JOIN b_iblock_element ie ON ie.id = csp.product_id LEFT JOIN b_iblock_element_property prop_art ON prop_art.iblock_element_id = ie.id AND prop_art.iblock_property_id = :article_prop_id WHERE ie.iblock_id = :iblock_id AND csp.amount > 0 ORDER BY ie.name, cs.sort; 

Отчёт по SKU (торговым предложениям)

SKU — это модификации товара (размер, цвет). Для отчёта по остаткам SKU используйте этот запрос:

SELECT parent.name AS product_name, sku.name AS sku_name, prop_color.value AS color, prop_size.value AS size, cp.quantity AS stock FROM b_iblock_element sku JOIN b_iblock_element parent ON parent.id = sku.wf_parent_id -- для старого API -- Или через b_catalog_product_offer для D7: JOIN b_catalog_product_offer cpo ON cpo.id = sku.id JOIN b_iblock_element parent ON parent.id = cpo.owner_id JOIN b_catalog_product cp ON cp.id = sku.id LEFT JOIN b_iblock_element_property prop_color ON prop_color.iblock_element_id = sku.id AND prop_color.iblock_property_id = :color_prop_id LEFT JOIN b_iblock_element_property prop_size ON prop_size.iblock_element_id = sku.id AND prop_size.iblock_property_id = :size_prop_id WHERE sku.iblock_id = :sku_iblock_id AND sku.active = 'Y' ORDER BY parent.name, sku.name; 

Кейс: автоматизация рассылки отчётов для магазина одежды

Магазин одежды: 3 000 SKU, 2 склада (Москва и Санкт-Петербург), синхронизация с 1С раз в час. Байер каждое утро проверял Excel с остатками — файл обновлялся вручную раз в день. Мы реализовали автоматический отчёт «критические остатки» с рассылкой по email в 8:00 утра.

Реализация:

  1. SQL-запрос по таблицам b_catalog_store_product + b_iblock_element_property (цвет, размер)
  2. Генерация XLSX через PhpSpreadsheet с условным форматированием: красный — остаток 0–1, жёлтый — 2–5
  3. Агент Битрикс, запускаемый раз в сутки в 7:45, генерирует файл и сохраняет в /upload/reports/
  4. Отправка письма через \Bitrix\Main\Mail\Event::send() с вложением байеру и директору
function GenerateLowStockReport(): string { $generator = new StockReportGenerator(); $file = $generator->generateLowStock(threshold: 5); $savedPath = '/upload/reports/low_stock_' . date('Y-m-d') . '.xlsx'; copy($file, $_SERVER['DOCUMENT_ROOT'] . $savedPath); \Bitrix\Main\Mail\Event::send([ 'EVENT_NAME' => 'LOW_STOCK_REPORT', 'LID' => 's1', 'C_FIELDS' => [ 'REPORT_DATE' => date('d.m.Y'), 'FILE_PATH' => $savedPath, ], ]); unlink($file); return __FUNCTION__ . '();'; } 

Результат: отчёт сократил время подготовки данных байером с 30 минут до 0 — файл ждёт в почте. В 10 раз быстрее ручного формирования — это реальная экономия.

Почему стоит выбрать автоматизацию?

Автоматический отчёт исключает человеческий фактор: не нужно помнить о загрузке, не нужно отправлять вручную, данные всегда актуальны на момент генерации. Плюс — возможность настроить разные пороги срабатывания для разных категорий товаров. Подробнее о структуре данных.

Типичные ошибки при разработке отчётов по остаткам

Неправильные JOIN в SQL: например, забывают учесть резервы (QUANTITY_RESERVED) или не учитывают многоскладской учёт. Игнорирование торговых предложений: отчёт показывает остатки только базовых товаров, а SKU остаются без внимания. Отсутствие проверки актуальности данных: если обмен с 1С задержался, отчёт покажет неверные цифры. Мы помогаем избежать этих ошибок на этапе анализа — получите консультацию, чтобы ваш отчёт работал без сбоев.

Что входит в разработку отчёта под ключ

  • Анализ текущей структуры учёта (склады, SKU, 1С-обмен)
  • Написание и оптимизация SQL-запросов
  • Разработка модуля генерации XLSX с условным форматированием
  • Настройка агента для автозапуска по расписанию
  • Создание простого UI для ручного запуска и фильтрации
  • Инструкция для администратора (где файлы, как добавить получателей)
  • Тестирование на ваших данных

Закажите разработку — мы покажем, как ваш бизнес сэкономит время и деньги.

Сравнение способов получения данных об остатках

Способ Скорость Гибкость Автоматизация Сложность
Стандартный фильтр в админке Мгновенно Низкая Нет Низкая
REST API Быстро Средняя Частичная Средняя
Прямые SQL-запросы Быстро Высокая Полная Требует эксперта

Сроки и стоимость

Конфигурация Срок
Отчёт по критическим остаткам (SQL + XLSX) 1–2 дня
Отчёт по складам с детализацией по SKU 2–4 дня
Автогенерация + рассылка + UI-фильтры 4–7 дней

Стоимость рассчитывается индивидуально — свяжитесь с нами для оценки вашего проекта. Мы гарантируем качество и сопровождение после внедрения.