Заметки
Как строить отчёт по истории изменений CRM-полей
Текущее значение поля не позволяет восстановить, каким оно было месяц назад. Для отчёта об изменениях нужна история: штатный источник, если он действительно хранит нужное поле, либо собственный журнал изменений.
В собственной записи сохраняйте сущность, поле, старое и новое значение, время и источник изменения. Для списков и связей полезно хранить стабильные ID, а отображаемые названия — отдельно: они тоже меняются.
REST-событие обновления часто сообщает об изменении объекта, но не содержит полную пару «до/после». Если читать карточку после события, она уже могла измениться ещё раз. Периодические снимки показывают состояние на момент снимка, а не каждое промежуточное действие.
Поэтому начните с точности, которая нужна отчёту. Для ежедневной динамики могут хватить снимки; для аудита каждого перехода требуется более строгий источник событий. Обещать восстановление отсутствующей истории задним числом нельзя.