- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Service/Operation/Import.php
- Класс: Bitrix\Crm\Service\Operation\Import
- Вызов: Import::processFieldsBeforeSave
public function processFieldsBeforeSave(): Result
{
$systemFields = [
Item::FIELD_NAME_CREATED_TIME,
Item::FIELD_NAME_UPDATED_TIME,
Item::FIELD_NAME_MOVED_TIME,
Item::FIELD_NAME_CREATED_BY,
Item::FIELD_NAME_UPDATED_BY,
Item::FIELD_NAME_MOVED_BY,
];
$systemFieldsValues = [];
foreach ($systemFields as $fieldName)
{
$fieldValue = $this->item->hasField($fieldName) ? $this->item->get($fieldName) : null;
if (!is_null($fieldValue) && $this->isDefaultValue($fieldName, $fieldValue))
{
$fieldValue = null;
}
$systemFieldsValues[$fieldName] = $fieldValue;
}
$result = $this->checkSystemFieldsValues($systemFieldsValues);
if (!$result->isSuccess())
{
return $result;
}
$result = parent::processFieldsBeforeSave();
foreach ($systemFieldsValues as $fieldName => $fieldValue)
{
if (!is_null($fieldValue))
{
$this->item->set($fieldName, $fieldValue);
}
}
return $result;
}