• Модуль: 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;
}