В интернет-магазине на 1С-Битрикс периодически возникали проблемы с товарами и ценами:
- Клиенты заказывали товар, которого физически не было на складе, хотя на сайте значилось "в наличии"
- Цены самопроизвольно менялись (или их кто-то менял вручную)
- Описания товаров "терялись" после обмена с 1С
- При возникновении проблемы невозможно было понять, кто и когда внес изменения — стандартный Битрикс не хранит историю
- Как отмечают разработчики, типичные вопросы клиентов: "Кто-то украл со склада товар?", "Обмен с 1С не работает?", "Почему цена неадекватная?" . Без системы логирования ответить на эти вопросы невозможно.
- Требовалось создать альтернативную систему мониторинга, которая:
- Отслеживает все изменения товаров: цены, остатки, названия, описания, активность
- Фиксирует кто, когда и с какого IP произвел изменение
- Сохраняет старые и новые значения для сравнения
- Логирует контекст изменений: через какой раздел админки, через импорт или через API
- Позволяет быстро находить историю по конкретному товару или пользователю
- Имеет удобный интерфейс для просмотра и фильтрации
Создал комплексное решение на основе событийной модели Битрикс и кастомных таблиц:
/local/php_interface/include/product_monitor/
├── ProductMonitor.php # Основной класс мониторинга
├── events.php # Регистрация обработчиков событий
├── install/
│ └── table_create.php # Создание таблицы для хранения логов
├── admin/
│ └── product_monitor_admin.php # Интерфейс в админке
└── lib/
├── Logger.php # Класс для записи логов
└── HistoryViewer.php # Просмотр истории по товару
Для бизнеса
✅ Прозрачность — теперь можно точно определить, кто и когда менял цены и остатки
✅ Контроль операторов — менеджеры знают, что их действия логируются
✅ Защита от ошибок — можно откатить изменения или понять причину проблемы
✅ Аудит интеграций — видно, что изменилось через импорт или API, а что — вручную
✅ Расследование инцидентов — больше не нужно гадать, "кто украл товар со склада"
Для операторов
✅ Понятный интерфейс — история изменений прямо в карточке товара
✅ Быстрый поиск — можно найти все изменения по конкретному товару или пользователю
✅ Детализация — видны старые и новые значения, дата, IP-адрес
Технические результаты
✅ Отслеживание изменений основных полей (название, описание, активность)
✅ Логирование всех изменений цен и валют
✅ Мониторинг остатков на складах (общее количество и по складам)
✅ Запись контекста: пользователь, IP, сессия, URL запроса
✅ Стек вызовов для разработчиков (помогает отлаживать интеграции)
✅ Удобный фильтр и пагинация в админке
✅ Интеграция прямо в карточку товара