- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/rest/externalchannel.php
- Класс: Bitrix\Crm\Rest\CCrmExternalChannelImportAgent
- Вызов: CCrmExternalChannelImportAgent::fillFields
protected function fillFields(&$fields, $entityFields=array()) { /** @var \CCrmCompanyRestProxy|\CCrmContactRestProxy $entity */ $entity = $this->getEntity(); /** @var CCrmExternalChannelImport $import */ $import = $this->import; /** @var CCrmExternalChannelConnector $connector */ $connector = $import->getConnector(); $fields['ORIGINATOR_ID'] = $connector->getOriginatorId(); if($entity->getOwnerTypeID() == \CCrmOwnerType::Contact) { if($this->getUpdateEntityMode() == self::UPDATE_MODE_MERGE) { $entityObject = new \CCrmContact(false); if(intval($entityFields['ID'])>0) { $merger = new Crm\Merger\ContactMerger(0, false); $entityFieldsDb = $entityObject->getListEx( array(), array( '=ID' => $entityFields['ID'], 'CHECK_PERMISSIONS' => 'N' ), false, false, array('*', 'UF_*') ); $originFields = $entityFieldsDb->fetch(); if ($originFields) { $merger->mergeFields($originFields, $fields); } } unset($fields['ORIGINATOR_ID']); unset($fields['ORIGIN_ID']); unset($fields['ORIGIN_VERSION']); } } }