• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/order/matcher/baseentitymatcher.php
  • Класс: Bitrix\Crm\Order\Matcher\BaseEntityMatcher
  • Вызов: BaseEntityMatcher::getFieldsToUpdate
protected function getFieldsToUpdate($entityId, $fields)
{
	$mergerClassName = $this->getEntityMergerClassName();

	switch ($this->duplicateControl)
	{
		case self::DUPLICATE_CONTROL_MODES['MERGE']:
			$entityFields = $this->loadOriginalFields($entityId);
			$entityFields['FM'] = $this->loadOriginalMultiFields($entityId);

			/** @var EntityMerger $merger */
			$merger = new $mergerClassName(0, false);
			$merger->mergeFields($fields, $entityFields, false, ['ENABLE_UPLOAD' => true]);

			break;
		case self::DUPLICATE_CONTROL_MODES['REPLACE']:
			$entityFields = [
				'FM' => $this->loadOriginalMultiFields($entityId)
			];

			/** @var EntityMerger $merger */
			$merger = new $mergerClassName(0, false);
			$merger->mergeFields($fields, $entityFields, false, ['ENABLE_UPLOAD' => true]);

			break;
		default:
			$entityFields = [];
	}

	return $entityFields;
}