...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/restservice.php
- Класс: \CCrmRestProxyBase
- Вызов: CCrmRestProxyBase::prepareListItemMultiFields
protected function prepareListItemMultiFields(&$entityMap, $entityTypeID, $typeIDs) { $entityIDs = array_keys($entityMap); if(empty($entityIDs)) { return; } $entityTypeName = CCrmOwnerType::ResolveName($entityTypeID); if($entityTypeName === '') { return; } $dbResult = CCrmFieldMulti::GetListEx( array(), array( '=ENTITY_ID' => $entityTypeName, '@ELEMENT_ID' => $entityIDs, '@TYPE_ID' => $typeIDs ) ); while($fm = $dbResult->Fetch()) { $typeID = $fm['TYPE_ID'] ?? ''; if(!in_array($typeID, $typeIDs, true)) { continue; } $entityID = isset($fm['ELEMENT_ID']) ? intval($fm['ELEMENT_ID']) : 0; if(!isset($entityMap[$entityID])) { continue; } $entity = &$entityMap[$entityID]; if(!isset($entity['FM'])) { $entity['FM'] = array(); } if(!isset($entity['FM'][$typeID])) { $entity['FM'][$typeID] = array(); } $entity['FM'][$typeID][] = array('ID' => $fm['ID'], 'VALUE_TYPE' => $fm['VALUE_TYPE'], 'VALUE' => $fm['VALUE']); unset($entity); } }