Документация

О модуле

Модуль ведёт журнал изменений: кто, когда и что поменял в заказе, товаре или другой сущности Битрикса. По каждой записи видно старое и новое значение поля, пользователя, адрес страницы и место в коде, откуда пришло изменение.

Зачем это нужно

Три вопроса, на которые без журнала ответить нечем:

  • «Кто изменил цену?» — в журнале видно пользователя, время и оба значения.
  • «Почему товар пропал из выдачи?» — видно, что сняли активность, и кто это сделал.
  • «Откуда взялось это изменение?» — видно, каким модулем и каким компонентом оно сделано: правка руками в админке, обмен с 1С, сторонний модуль или собственный код.

Последний пункт — то, чего нет в штатном журнале Битрикса. Модуль сохраняет стек вызова, поэтому источник изменения виден до файла и строки.

Что журналировать — выбираете вы

Сразу после установки журнал пуст и ничего не пишет: модуль ждёт, какие сущности вам нужны. Сущность добавляется в админке — выбором класса, без программирования.

Для трёх сущностей в модуле уже есть разбор значений, поэтому их журнал читается без настройки:

Сущность Класс Что в журнале
Заказы Bitrix\Sale\Internals\OrderTable статус, суммы, оплата, доставка
Элементы инфоблоков Bitrix\Iblock\ElementTable товары, новости, любые элементы
Инфоблоки Bitrix\Iblock\IblockTable настройки самого инфоблока

Любую другую сущность ORM тоже можно журналировать — значения тогда показываются как есть.

Что видно по каждой записи

  • действие: добавление, обновление, удаление, обновление без изменений;
  • изменённые поля: старое и новое значение рядом;
  • пользователь и время;
  • где произошло: публичная часть, административный раздел, крон или консоль;
  • адрес страницы и стек вызова с переходом к строке кода.

Требования

  • 1С-Битрикс с модулем «Главный модуль»;
  • модуль devbx.core — ставится как зависимость;
  • место в базе под журнал: сколько именно, разобрано в главе «Объём и обслуживание».