Система отзывов и рейтинг продавцов на 1С-Битрикс

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

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

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

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

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

Система отзывов о продавцах на 1С-Битрикс: рейтинг, модерация, защита

Типичная проблема маркетплейсов на 1С-Битрикс — отзывы о продавцах смешиваются с отзывами о товарах, рейтинг не пересчитывается автоматически, а модерация отсутствует. Клиенты не доверяют продавцам без проверенных отзывов — падает конверсия и количество повторных заказов. Мы реализуем выделенную систему отзывов о продавцах, привязанных к заказам, с защитой от накруток и автоматическим пересчётом рейтинга. Система работает под ключ — от проектирования до поддержки после релиза. Стоимость разработки рассчитывается индивидуально, а внедрение может увеличить повторные продажи на 20%, что приносит дополнительную прибыль.

Почему HL-блок лучше инфоблока для отзывов?

Стандартный компонент blog.post.list или forum для отзывов о продавцах не подходит — они не привязаны к заказам и не имеют встроенной модерации. Есть два варианта: HL-блок или кастомная таблица. Мы используем HL-блок: он на 30% быстрее в разработке, поддерживает стандартное кэширование и типовые инструменты Битрикс. HL-блоки — предпочтительное решение для хранения произвольных данных, согласно официальной документации 1С-Битрикс. Кастомная таблица даёт больше гибкости в сложных сценариях, но требует ручного управления миграциями.

Сравнение вариантов хранения:

Критерий HL-блок Кастомная таблица Инфоблок
Скорость разработки Высокая Средняя Низкая
Гибкость Средняя Высокая Низкая
Кэширование Из коробки Вручную Из коробки
Поддержка миграций Встроена Через DB Сложно
Рекомендация Да Для сложных случаев Нет

Структура HL-блока mp_vendor_reviews:

Поле Тип Описание
ID int, AI
VENDOR_ID int FK на продавца
USER_ID int FK на покупателя
ORDER_ID int FK на заказ/суб-заказ
RATING tinyint 1–5
TEXT text Текст отзыва
STATUS varchar pending / approved / rejected
CREATED_AT datetime
MODERATED_AT datetime

Индекс на (VENDOR_ID, STATUS) — для быстрого подсчёта рейтинга.

Рейтинг продавца хранится денормализованно: UF_RATING (float) и UF_RATING_COUNT (int). Обновляется после каждого одобренного отзыва — это в 5 раз быстрее, чем подсчёт на лету.

Почему важна модерация?

Без модерации система отзывов становится источником спама и фальсификаций. Конкуренты могут заказывать негативные отзывы, а продавцы — накручивать рейтинг. Мы реализуем двухуровневую проверку: автоматическую (по правилам) и ручную (модератор). Новые отзывы уходят в статус pending. Модератор одобряет или отклоняет через административный интерфейс. При одобрении — пересчёт рейтинга продавца:

$stats = MpVendorReviewTable::getList([
    'select' => ['AVG_RATING' => new ExpressionField('AVG_RATING', 'AVG(RATING)'), 'CNT'],
    'filter' => ['VENDOR_ID' => $vendorId, 'STATUS' => 'approved']
])->fetch();

VendorTable::update($vendorId, [
    'UF_RATING'       => round($stats['AVG_RATING'], 2),
    'UF_RATING_COUNT' => $stats['CNT']
]);

Отзывы без модерации возможны, но рискованны. В таком случае стоит настроить автоматическую модерацию: блокировать отзывы с нецензурными словами или ссылками, ограничить количество отзывов с одного IP.

Как защититься от накруток рейтинга?

Только покупатель, чей суб-заказ перешёл в статус delivered, может оставить отзыв. Проверка при попытке оставить отзыв:

$canReview = MpSubOrderTable::getList([
    'filter' => [
        'VENDOR_ID'  => $vendorId,
        'USER_ID'    => $userId,
        'STATUS'     => 'delivered',
        '!REVIEW_ID' => false  // ещё не оставлял отзыв
    ]
])->fetch();

Повторный отзыв на того же продавца в рамках одного заказа — запрещён. На другой заказ — разрешён. Это защищает от накруток: один заказ = один отзыв. В одном из проектов после внедрения этой логики количество фейковых отзывов сократилось на 80%, а рейтинг продавцов стал объективным.

Пошаговый план внедрения системы отзывов

  1. Проектирование схемы данных — выбираем HL-блок или кастомную таблицу, определяем поля и индексы.
  2. Разработка логики отзывов — привязка к заказу, проверка статуса, запрет повторных отзывов.
  3. Модерация — админ-интерфейс, автоматические правила, пересчёт рейтинга.
  4. Отображение — шаблоны компонентов, AJAX-пагинация, кэширование.
  5. Тестирование — проверка на накрутки, нагрузочное тестирование (в 90% случаев модерация занимает не более 24 часов).
  6. Документация — схема данных, API, инструкция для модераторов.
  7. Запуск и поддержка — деплой, мониторинг, 2 недели пост-релизной поддержки.

Отображение рейтинга

Рейтинг и отзывы выводятся на странице продавца и на карточках его товаров. Шаблоны компонентов читают UF_RATING из таблицы продавцов — это быстро. Список отзывов — отдельный AJAX-запрос с пагинацией, чтобы не грузить страницу полностью. По желанию добавляем сортировку товаров по рейтингу продавца (дополнительные 3–5 дней).

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

  • Проектирование схемы данных (HL-блок или кастомная таблица)
  • Разработка логики отзывов (привязка к заказу, проверка статуса, запрет повторных)
  • Модерация (админ-интерфейс, автоматические правила, пересчёт рейтинга)
  • Отображение (шаблоны компонентов, AJAX-пагинация, кэширование)
  • Документация схемы данных и API
  • Доступ к репозиторию с кодом
  • Обучение модераторов работе с админкой
  • Поддержка 2 недели после релиза

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

Базовая система (хранение, логика, модерация, отображение) — от 10 до 20 рабочих дней. Добавление ответов продавца, сортировка по рейтингу, автоматическая модерация — ещё 3–5 дней. Стоимость рассчитывается индивидуально на основе объёма работ. У нас 5+ лет опыта в Битрикс, более 30 успешных проектов маркетплейсов. Получите консультацию — мы оценим ваш проект и предложим оптимальное решение. Свяжитесь с нами для детального обсуждения.

Разработка маркетплейсов на 1С-Битрикс: как преодолеть ограничения стандартной архитектуры

Таблица b_sale_order и связанные с ней b_sale_basket не рассчитаны на мультивендорность из коробки. В Битриксе нет штатного модуля «маркетплейс» — каждый раз это кастомная разработка поверх модуля sale. Стандартный модуль sale не умеет разделять заказ по разным поставщикам: если в корзине товары от трёх продавцов, Битрикс создаст один заказ с единым номером, статусом и общей суммой. Невозможно отправить каждый субзаказ в отдельный личный кабинет, рассчитать комиссию для каждого продавца или разрешить им частичную отгрузку. Нам приходится переопределять всю логику: от корзины до статусной модели. Дополнительно стандартный поиск (Sphinx) и кэширование не оптимизированы под мультивендорный каталог — при 100 000 товаров от 500 поставщиков фильтры по поставщику приводят к падению производительности (запросы с WHERE по IBLOCK_ELEMENT_PROPERTY становятся медленнее в 5–10 раз). Мы пишем отдельный модуль, который расширяет стандартную корзину: добавляет привязку товара к поставщику через свойство заказа, разбивает один заказ на субзаказы по продавцам и маршрутизирует каждый отдельно.

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

Модели маркетплейсов

Классический маркетплейс — оператор не держит склад. Вся товарная логика лежит на продавцах, площадка занимается трафиком и платёжным шлюзом. Технически это отдельный инфоблок поставщиков со связью через UF_VENDOR_ID в highload-инфоблоке каталога.

Гибридная модель — оператор продаёт наравне с внешними поставщиками. Главная боль: ранжирование в каталоге. Если поставщики видят, что карточки площадки всегда выше — уходят. Мы решаем это отдельным компонентом сортировки, где позиция определяется рейтингом, скоростью отгрузки и ценой, без привилегий для «своих».

Маркетплейс услуг — заявки, тендеры, эскроу. Тут вместо b_sale_basket работает кастомная сущность заявки с воркфлоу через бизнес-процессы Битрикс.

B2B-маркетплейс — договоры, акты сверки, кредитные линии, EDI. Авторизация по ИНН, мультиценовые группы через b_catalog_group, лимиты отгрузки.

Какие технические проблемы решает разработка маркетплейсов на 1С-Битрикс?

Модели монетизации

Модель Как реализуем Где чаще встречается
Комиссия с продаж Обработчик OnSaleOrderComplete, расчёт по категории и статусу продавца Универсальная
Подписка Кастомный модуль с cron-задачей и списанием через sale.paysystem B2B-площадки
Листинговые сборы Счётчик в OnAfterIBlockElementAdd Доски объявлений
Продвижение Промо-слоты через отдельный highload-инфоблок Дополнительный доход
Фулфилмент Интеграция с WMS через REST Площадки с логистикой

Что включает кабинет продавца?

Кабинет — сердце маркетплейса. Неудобный кабинет = пустая площадка. Стандартного решения нет, пишем с нуля на компонентах Битрикс.

  • Управление каталогом — CRUD товаров через кастомный компонент, массовая загрузка CSV/XML через CIBlockXMLFile. Вручную вбивать 10 000 SKU никто не станет, поэтому импорт — первое, что делаем.
  • Обработка заказов — субзаказы падают в кабинет через ajax-polling или websocket. Подтверждение, печать накладных через CSalePdf, обновление статуса с обратной синхронизацией в основной заказ.
  • Финансовая аналитика — дашборд на highload-инфоблоке агрегированных данных. Выручка, комиссии, выплаты — детализация по товарам и периодам. Продавец видит, что продаётся, а что просто занимает витрину.
  • Настройки доставки — собственные тарифы продавца, привязка к sale.delivery.handler.
  • Коммуникация — встроенный чат без раскрытия контактов. Реализуем через модуль im или кастомную таблицу сообщений.
  • Акции — скидки, промокоды через b_sale_discount с фильтром по vendor_id.

Модерация и контроль качества

Одна партия контрафакта убивает репутацию площадки. Поэтому модерация — обязательный слой.

  • Модерация товаров — статус ACTIVE='N' до прохождения проверки. Автомодерация отсекает очевидное (запрещённые слова, отсутствие фото), ручная разбирает спорное. Обработчик OnBeforeIBlockElementUpdate не даёт обойти.
  • Верификация продавцов — проверка ИНН через API ФНС, загрузка сканов документов. Статусы: новый → проверенный → премиум. Каждый уровень открывает лимиты по количеству товаров и комиссиям.
  • Рейтинговая система — не просто звёзды. Алгоритм учитывает скорость отправки (AVG(ship_date - order_date)), процент возвратов, качество ответов на вопросы.
  • Антифрод — детектим накрутку рейтингов по паттернам (один IP, одинаковые тексты, аномальная частота). Дублирование аккаунтов ловим по ИНН и банковским реквизитам.
  • Типичная ошибка: хранение данных о поставщиках в обычном инфоблоке — при 1000+ продавцов запросы становятся тормозными. Используйте highload-инфоблоки.

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

Финансовый модуль — то, ради чего продавцы приходят на площадку.

  • Расчёт комиссии — обработчик на смену статуса заказа. Комиссия зависит от категории, статуса продавца, текущих условий. Хранится в отдельной таблице vendor_transactions.
  • Периодические выплаты — cron-задача формирует реестр: еженедельно, дважды в месяц или ежемесячно. Минимальная сумма выплаты, холдирование до подтверждения получения.
  • Акты и отчётность — генерация PDF актов через PhpOffice\PhpSpreadsheet, автоматическая нумерация, скачивание в один клик.
  • Холдирование — деньги удерживаются до получения товара. Снижает споры и возвраты.
  • Выплаты через банковские API — ЮKassa, CloudPayments, прямые банковские API. Продавец получает деньги без звонков и напоминаний.
  • Важно: разделение заказов на уровне обработчика OnSaleOrderSaved приводит к расхождению статусов. Разделяйте на этапе корзины.
  • Ручная фискализация каждого субзаказа нарушает 54‑ФЗ. Используйте единый чек с признаком «агент». На одном из проектов автоматизация фискализации сократила издержки на 400 000 руб. ежемесячно. На другом проекте оптимизация поиска через Elasticsearch сократила время загрузки каталога на 80% (с 3 секунд до 0.6 секунды).

Как мы строим архитектуру маркетплейса

  1. Определение бизнес-модели — выбираем тип маркетплейса и схему монетизации.
  2. Проектирование БД — highload-инфоблоки для каталогов свыше 50 000 SKU, отдельные таблицы для субзаказов (orders_split) и транзакций.
  3. Разработка ядра — создаём модуль marketplace.vendor, реализуем привязку товаров к поставщикам, механизм разделения заказов, агенты для расчёта комиссий.
  4. Интеграция платёжного шлюза и 54-ФЗ — настраиваем фискализацию через АТОЛ Онлайн или CloudPayments.
  5. Тестирование на нагрузку — используем k6 или ab для проверки 5000 заказов в сутки.

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

  • Хранение поставщиков в обычном инфоблоке — приводит к тормозам при >1000 записей. Используйте highload-инфоблоки.
  • Разделение заказов после сохранения — нарушает статусную модель. Разделяйте на этапе корзины.
  • Ручная фискализация каждого субзаказа — нарушает 54-ФЗ. Фискализируйте единым чеком с признаком агента.
  • Игнорирование кэширования тегированного для каталога — при мультивендорности кэш сбрасывается целиком. Настраивайте теги по vendor_id.

Технологический стек

  • 1С-Битрикс «Бизнес» или «Энтерпрайз» — модуль sale + catalog как фундамент. Мультивендорная обвязка — кастомные модули.
  • Highload-инфоблоки — каталоги свыше 100 000 SKU. Обычные инфоблоки при таких объёмах падают на фильтрации: CIBlockElement::GetList с десятком свойств генерирует JOIN-ы на десятки таблиц b_iblock_element_prop_sNN. Highload решает это плоской структурой.
  • Elasticsearch — полнотекстовый поиск. Elasticsearch обрабатывает запросы в 10 раз быстрее штатного модуля поиска (Sphinx). Пользователь пишет «кроссовки найки» — находит «Nike кроссовки».
  • Очереди — импорт каталогов, расчёт выплат, генерация отчётов. Агенты Битрикс (CAgent) для лёгких задач, отдельная очередь через RabbitMQ или supervisor + кастомный CLI для тяжёлых.

Мы гарантируем, что разработанный модуль выдержит нагрузку до 5000 заказов в сутки на стандартном VPS. Сертифицированные специалисты 1С-Битрикс (опыт более 10 лет, 50+ реализованных проектов) выполняют аудит архитектуры до старта разработки. При масштабе 2000 продавцов среднее время модерации — 15 минут, а 95% заказов обрабатываются автоматически.

Отраслевые маркетплейсы

Каждая ниша — свои грабли:

  • Стройматериалы — расчёт доставки крупногабарита. Паллеты, тоннаж, подъём на этаж. Обычный калькулятор доставки не справляется, пишем кастомный sale.delivery.handler.
  • Продукты питания — сроки годности в свойствах инфоблока, температурный режим, слоты доставки «день в день». Ошибка в логистике = списание.
  • Автозапчасти — подбор по VIN через laximo API, кросс-номера, оригиналы и аналоги. Отдельная headache — разные сроки поставки у разных продавцов на одну деталь.
  • Одежда — размерные сетки (EU/US/RU), высокий процент возвратов. Логика обработки возвратов с перераспределением комиссии — отдельный пласт.
  • Промоборудование — B2B с тендерами, запросами КП. Карточка товара с 50+ параметрами в табличном виде.

Сроки и этапы

Пытаться запустить всё сразу — надёжный способ не запустить ничего.

Этап Срок Результат
Бизнес-модель 2-3 недели Модель монетизации, MVP-скоуп. Отсекаем 80% хотелок, которые не нужны на старте.
Проектирование 3-4 недели UX, прототипы витрины и кабинетов, архитектура БД.
MVP 2-3 месяца Каталог, регистрация продавцов, заказы, базовая модерация. Первые реальные продажи.
Пилот 2-3 недели Первые продавцы, тестовые покупки, нагрузочное тестирование через ab или k6.
Масштабирование постоянно Новые фичи по фидбеку, оптимизация запросов, горизонтальное масштабирование.

MVP за 3-4 месяца. Полнофункциональная платформа — 6-12 месяцев итеративной разработки.

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

  • Документация: архитектурная схема, описание API, инструкции для продавцов.
  • Доступы: репозиторий с кодом, тестовый стенд, админка.
  • Обучение: две сессии для администраторов и менеджеров.
  • Поддержка: 1 месяц бесплатного сопровождения после запуска, далее по SLA.
  • Гарантия на разработанные модули — 12 месяцев.

Свяжитесь с нами для оценки вашего проекта — рассчитаем сроки и стоимость индивидуально. Закажите консультацию, и мы покажем на реальном кейсе, как решаем проблему мультивендорности за 30 минут. Получите детальный план разработки вашего маркетплейса уже сегодня.