Для регистрации изменения полей trackedObject обязательно инициализировать с двумя параметрами, иначе будет ошибка получения предыдущих значений объекта.
А также обязательно setTrackedFieldNames, по умолчанию список отслеживаемых полей пустой.
| Код |
|---|
$factory = Service\Container::getInstance()->getFactory(\CCrmOwnerType::Quote);
$item = $factory->getItem(1);
$item->setClosedate('25.02.2022');
$operation = $factory->getUpdateOperation($item);
$result = $operation->launch();
$trackedObject = $factory->getTrackedObject($operation->getItemBeforeSave(),$item);
$trackedObject->setTrackedFieldNames(['CLOSEDATE']);
$result = Container::getInstance()->getEventHistory()->registerUpdate($trackedObject); |