...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_company.php
- Класс: \CAllCrmCompany
- Вызов: CAllCrmCompany::SynchronizeMultifieldMarkers
static function SynchronizeMultifieldMarkers($sourceID, array $fields = null) { global $DB; if($sourceID <= 0) { return; } if($fields === null) { $dbResult = self::GetListEx( [], array('=ID' => $sourceID, 'CHECK_PERMISSIONS' => 'N'), false, false, array('ID', 'HAS_EMAIL', 'HAS_PHONE', 'HAS_IMOL') ); if(is_object($dbResult)) { $fields = $dbResult->Fetch(); } } if($fields === null) { return; } $multifields = isset($fields['FM']) && is_array($fields['FM']) ? $fields['FM'] : null; if($multifields === null) { $multifields = DuplicateCommunicationCriterion::prepareEntityMultifieldValues( CCrmOwnerType::Company, $sourceID ); } $hasEmail = CCrmFieldMulti::HasValues($multifields, CCrmFieldMulti::EMAIL) ? 'Y' : 'N'; $hasPhone = CCrmFieldMulti::HasValues($multifields, CCrmFieldMulti::PHONE) ? 'Y' : 'N'; $hasImol = CCrmFieldMulti::HasImolValues($multifields) ? 'Y' : 'N'; if(!isset($fields['HAS_EMAIL']) || $fields['HAS_EMAIL'] !== $hasEmail || !isset($fields['HAS_PHONE']) || $fields['HAS_PHONE'] !== $hasPhone || !isset($fields['HAS_IMOL']) || $fields['HAS_IMOL'] !== $hasImol ) { $DB->Query("UPDATE b_crm_company SET HAS_EMAIL = '{$hasEmail}', HAS_PHONE = '{$hasPhone}', HAS_IMOL = '{$hasImol}' WHERE ID = {$sourceID}", false, 'FILE: '.__FILE__.'
LINE: '.__LINE__); } }