Настройка массового редактирования товаров 1С-Битрикс

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

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

Этапы разработки

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

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

Настройка массового редактирования товаров 1С-Битрикс

Часто к нам приходят с задачей: в каталоге 5000 товаров, у 800 из них нужно обновить одно поле — скажем, добавить флаг «Хит продаж». Редактировать по одному — рабочий день. Штатный инструмент массового редактирования в административной части Битрикса закрывает большинство сценариев, но имеет ограничения, которые нужно знать. Мы предлагаем гибридный подход: комбинацию стандартных средств и кастомных скриптов на API, который ускоряет обновление в 5–10 раз. Гарантируем стабильность результата и даём 14 дней пост-поддержки.

Когда требуется кастомное массовое редактирование товаров?

Стандартный интерфейс справляется с задачами вроде смены цены или активности у десятка товаров. Но как только появляется потребность обновить 500+ записей, установить значение только для пустых полей или затронуть множественные свойства — без собственного скрипта не обойтись. Обратитесь к нам — мы подберём оптимальное решение под вашу задачу.

Как ускорить массовое редактирование в 10 раз? — настройка массового редактирования

Ключ к скорости — батчевая обработка через D7 API и отключение лишних событий. Например, метод \Bitrix\Catalog\ProductTable::updateMulti выполняет один SQL UPDATE с WHERE ID IN (...) вместо N отдельных запросов. Это даёт прирост производительности до 70% на выборках от 500 элементов. Также важно временно отключать поисковую переиндексацию (BX_SKIP_SEARCH_REINDEX), чтобы каждый вызов Update не генерировал событие.

Стандартный механизм: когда он сработает, а когда — нет

В административном списке товаров (/bitrix/admin/iblock_list_admin.php?type=catalog) выбираются нужные позиции, затем действие «Редактировать выбранные». Открывается форма, где указываются только изменяемые поля — остальные остаются без изменений. Технически это работает через CIBlockElement::Update(), вызываемый для каждого выбранного ID. Параметр $bWorkFlow = false в вызове — без создания черновика. При обновлении свойств Битрикс перезаписывает только переданные свойства, не затрагивая остальные.

Почему стандартный инструмент не справляется с большими каталогами?

Первое ограничение: не работает с множественными свойствами (тип L с несколькими значениями). Второе: не поддерживает условное обновление («установить значение только если текущее пустое»). Третье: при обновлении 500+ элементов браузер начинает тормозить из-за перезагрузки страницы с прогрессом. Для больших каталогов (от 10000 товаров) стандартный механизм практически непригоден — время выполнения нелинейно растёт.

Как мы ускоряем массовое редактирование?

Для обновления большого количества товаров через скрипт правильнее использовать D7 API с батчевой обработкой:

$productIds = [1001, 1002, 1003, /* ... */];
$batchSize  = 50;
$chunks     = array_chunk($productIds, $batchSize);

foreach ($chunks as $chunk) {
    foreach ($chunk as $id) {
        \CIBlockElement::Update($id, false, [
            'PROPERTY_VALUES' => [
                'IS_HIT' => 'Y',
            ],
        ]);
    }
    // Небольшая задержка между батчами чтобы не перегружать MySQL
    usleep(100000); // 100ms
}

Для чисто табличных данных (поля b_catalog_product, а не свойства инфоблока) быстрее прямое обновление через D7:

\Bitrix\Catalog\ProductTable::updateMulti($productIds, [
    'VAT_ID'       => 3,
    'VAT_INCLUDED' => 'Y',
]);

Метод updateMulti выполняет один SQL UPDATE с WHERE ID IN (...) вместо N отдельных запросов.

Сравнение методов обновления

Метод Время на 1000 товаров (1 поле) Поддержка множественных свойств Условное обновление Риск для БД
Стандартный интерфейс 15–30 минут Нет Нет Низкий (поэлементно)
CIBlockElement::Update (цикл) 3–5 минут Да Да (с предфильтром) Средний (много запросов)
D7 updateMulti 1–3 минуты Нет (только табличные поля) Нет Низкий (один запрос)

Сравнение производительности при разных размерах батча

Размер батча Время на 5000 товаров (свойство инфоблока) Время на 5000 товаров (табличное поле)
1 (поэлементно) ~80 минут ~30 минут
50 ~15 минут ~5 минут
200 ~12 минут ~4 минуты

Что входит в работу

  • Аудит текущей структуры инфоблоков и выявление узких мест.
  • Написание скрипта массового обновления с учётом ваших условий.
  • Тестирование на копии базы (бекап обязателен).
  • Развёртывание на боевом сервере в окно низкой нагрузки.
  • Документация по скрипту и обучение сотрудников работе с ним.
  • Пост-поддержка: 14 дней после запуска на случай обнаружения ошибок.

Пошаговая инструкция по настройке

  1. Определите, какие поля и свойства необходимо обновить.
  2. Напишите скрипт с использованием D7 API или циклом CIBlockElement::Update.
  3. Отключите поисковую переиндексацию через define('BX_SKIP_SEARCH_REINDEX', true).
  4. Протестируйте на копии базы данных.
  5. Запустите скрипт в часы низкой нагрузки.
  6. После завершения включите переиндексацию поиска.

Мониторинг прогресса

При массовом обновлении через веб-интерфейс Битрикс использует механизм «продолжения» через параметр sessid и скрытые поля — каждые N элементов страница перезагружается с прогрессом. Для скриптовой обработки удобнее писать прогресс в файл и читать его через AJAX:

file_put_contents('/tmp/update_progress.json', json_encode([
    'processed' => $processed,
    'total'     => $total,
    'percent'   => round($processed / $total * 100),
]));

При обновлении свойств типа «список» (L) массово необходимо предварительно получить ID значения списка из b_iblock_property_enum — передавать нужно ID, а не текстовое значение.

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

  • Забывают отключить переиндексацию поиска — каждый вызов Update вызывает CSearch::Index(), что увеличивает время в 2–3 раза. Используйте define('BX_SKIP_SEARCH_REINDEX', true).
  • Обновляют одно поле несколькими последовательными вызовами Update вместо одного. Каждый вызов триггерит события и обновляет кэш — лишние 100 мс на элемент.
  • Не проверяют права доступа у скрипта — если скрипт запущен от администратора, а пользователь потом редактирует элемент, могут возникнуть конфликты с бизнес-процессами.

Сроки и как начать

Ориентировочный срок разработки скрипта массового обновления — от 2 до 5 рабочих дней в зависимости от сложности условий. Если вам нужно обновить товары быстрее и без риска для боевой базы — напишите нам. Получите консультацию бесплатно: мы оценим задачу и предложим оптимальный вариант. Гарантируем качество и оперативность. Свяжитесь с нами сегодня, чтобы ускорить работу вашего каталога.

Официальная документация по API 1С-Битрикс

Что включает профессиональная установка 1С-Битрикс

Мы начинаем установку 1С-Битрикс с проверки innodb_buffer_pool_size. Дефолтное значение MySQL (128 МБ) — приговор для интернет-магазина с каталогом на 10 000+ товаров. Мы ставим 70–80% от доступной RAM на выделенном сервере, 50% на VPS. Одна эта настройка ускоряет сайт в 2–3 раза по сравнению с дефолтом. Оценим ваш проект за один день — получите консультацию. Обращайтесь, чтобы заказать установку под ключ с гарантией производительности.

Как выбрать хостинг и редакцию для установки 1С-Битрикс?

BitrixVM — виртуальная машина с предустановленным стеком: nginx + Apache, PHP-FPM, MySQL/MariaDB, Sphinx, Push‑сервер. Для VPS — лучший старт. Всё уже сконфигурировано под Битрикс, включая OPcache, логротацию и firewall. Управление через веб‑панель на порту 8890.

VPS/VDS — золотая середина. Минимальная конфигурация для среднего интернет‑магазина: 2 vCPU, 4 ГБ RAM, SSD. Оптимальная: 4 vCPU, 8 ГБ RAM. ОС: Ubuntu 22.04 или Debian 12. Если не BitrixVM — настраиваем стек вручную под задачу. Виртуальный хостинг — только для визиток и лендингов. Требования: PHP 8.0+, MySQL 5.7+ / MariaDB 10.0+, 512 МБ RAM, .htaccess. Хостинг‑партнёры 1С-Битрикс — гарантия совместимости. Выделенный сервер — для highload. Типичная архитектура: веб‑сервер отдельно, база данных отдельно, Redis/Memcached отдельно. На редакции «Энтерпрайз» — веб‑кластер с балансировщиком. Облако (Yandex Cloud, VK Cloud, Selectel) — когда нагрузка скачет: распродажи, сезонные пики. Автомасштабирование через Managed Kubernetes или просто вертикальное масштабирование VM.

Выбор редакции — не менее важный шаг. Частая ошибка: берут «Малый бизнес» для магазина, который через полгода вырастает до B2B с оптовыми ценами и тремя складами. Переход на «Бизнес» — доплата разницы, данные не теряются, но лучше предусмотреть заранее. Наши специалисты подберут редакцию под текущие задачи и с запасом на рост. Например, лицензия «Бизнес» (около 35 000 ₽) окупается за счёт мультисклада и обмена с 1С, а неправильный выбор приводит к потере до 30 000 ₽ ежемесячно на избыточных ресурсах.

Редакция Для кого Ключевое ограничение
Старт Визитки, лендинги Нет инфоблоков 2.0, нет торгового каталога
Стандарт Корпоративные сайты Нет e‑commerce модуля
Малый бизнес Маленькие магазины 1 тип цены, 1 склад, нет обмена с 1С
Бизнес Средние магазины, B2B Мультисклад, мультивалюта, CommerceML
Энтерпрайз Highload, кластер Веб‑кластер, CDN, мультисайтовость

Какие настройки сервера критичны для 1С-Битрикс?

Веб‑сервер и PHP

nginx как reverse proxy + Apache (mod_php) или nginx + PHP-FPM напрямую. Второй вариант экономит память — Apache не нужен. Но некоторые модули Битрикс используют .htaccess, поэтому для совместимости иногда оставляем Apache. Конфигурация nginx: fastcgi_read_timeout 300 — для долгих операций (импорт из 1С), client_max_body_size 1024m — загрузка больших файлов. Закрываем доступ к .settings.php, .settings_extra.php, bitrix/.settings.php — там пароли к базе. Rewrite‑правила из urlrewrite.php — Битрикс сам генерирует, но при nginx + PHP-FPM нужно продублировать. PHP 8.0–8.2 с расширениями: mbstring, curl, gd, xml, json, opcache, redis/memcached. Ключевые настройки php.ini: opcache.memory_consumption=256, opcache.max_accelerated_files=20000, max_execution_time=300, memory_limit=512M, upload_max_filesize=100M, post_max_size=128M.

База данных и кэширование

MySQL/MariaDB. Ключевые параметры my.cnf: innodb_buffer_pool_size — 70–80% RAM, innodb_log_file_size=256M, tmp_table_size=256M, max_heap_table_size=256M, thread_pool_size — по количеству ядер CPU. Кодировка utf8mb4 обязательно, иначе эмодзи и спецсимволы ломаются. Redis предпочтительнее Memcached для Битрикс — поддерживает persistent connections и более надёжен. Настраиваем в .settings_extra.php:

'cache' => ['value' => ['type' => ['class_name' => '\\Bitrix\\Main\\Data\\CacheEngineRedis']]]
'session' => ['value' => ['mode' => 'default', 'handlers' => ['general' => ['type' => 'redis']]]]

SSL, почта и cron

SSL — Let's Encrypt через certbot в 90% случаев. Редирект HTTP → HTTPS (301), HSTS, TLS 1.2/1.3, OCSP Stapling. В Битрикс переключаем на HTTPS в настройках главного модуля. Почта: отказываемся от mail() — подключаем SMTP (Яндекс.Почта для домена, Mail.ru для бизнеса). Обязательно настраиваем SPF, DKIM, DMARC. Без SPF письма уходят в спам. Тестируем доставляемость через mail‑tester.com — оценка 9+/10. Cron: агенты Битрикс переводим на системный cron — * * * * * /usr/bin/php /var/www/bitrix/modules/main/tools/cron_events.php. На cron вешаем обмен с 1С (15–60 мин), поисковую переиндексацию, бэкапы (mysqldump + rsync, ротация 7+4), очистку временных файлов.

Безопасность и администрирование

Файловая система: владелец www-data, директории 755, файлы 644, upload 775. nginx блокирует доступ к файлам конфигурации. Включаем Проактивную защиту Битрикс — WAF, контроль активности (блокировка после 5 неудачных попыток), проверку целостности ядра. Для админ‑панели: двухфакторная аутентификация через Google Authenticator или OTP, ограничение доступа по IP через nginx для параноиков.

Сколько времени занимает установка 1С-Битрикс и настройка?

Задача Срок
Установка на виртуальный хостинг 2–4 часа
Установка на VPS с настройкой стека 1–2 дня
Установка на dedicated с проектированием архитектуры 2–5 дней
SSL + почта + cron + безопасность 1–2 дня
Настройка бэкапов и мониторинга 0.5–1 день

Проверка после установки (пошаговый чек‑лист)

  1. Монитор производительности (/bitrix/admin/perfmon_panel.php) — целимся в 30+ баллов. Ниже 20 — есть серьёзные проблемы с конфигурацией.
  2. Проверка системы — автоматическая проверка всех параметров. Красные пункты — исправляем обязательно, жёлтые — по ситуации.
  3. Сканер безопасности — проверка на типичные уязвимости.
  4. PageSpeed Insights — TTFB < 200мс на VPS, LCP < 2.5с.
  5. Тестовый обмен с 1С — если планируется интеграция, проверяем CommerceML‑обмен до запуска.

Дополнительно проверяем версии ПО, настройки кэширования, работу cron, SSL‑сертификат, SPF/DKIM/DMARC, права доступа, удаление дефолтных пользователей и страниц. Для проектов с 54‑ФЗ убеждаемся, что настроена фискализация через ОФД‑провайдера.

Что входит в работу (deliverables)

  • Полностью настроенный сервер под 1С-Битрикс с оптимизацией MySQL, PHP, nginx.
  • Установленная и активированная лицензия нужной редакции.
  • SSL‑сертификат, почтовые настройки, cron и бэкапы.
  • Документация: все параметры конфигурации, доступы, cron‑задачи.
  • Обучение контент‑менеджера: как заходить в админку, добавлять товары, загружать изображения.
  • Поддержка после установки в течение 30 дней — консультации по настройкам.

Почему стоит доверить установку профессионалам?

Неправильная установка — потеря времени и денег. Мы видели проекты, где магазин на «Старте» не мог выдержать 50 посетителей, потому что не был настроен innodb_buffer_pool_size. После переноса на VPS с правильной конфигурацией сайт «полетел». Неправильная конфигурация может обходиться в 30 000 ₽ ежемесячно из‑за избыточного потребления ресурсов. Вы получаете готовую архитектуру, которая масштабируется. Закажите установку 1С-Битрикс под ключ — и получите надёжную платформу для роста бизнеса. Свяжитесь с нами — рассчитаем стоимость под ваш проект. Опыт более 7 лет, реализовано 120+ проектов на Битрикс, включая highload‑магазины с миллионными каталогами. Обращайтесь — мы поможем настроить Битрикс под ваш проект.