...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_quote.php
- Класс: \CAllCrmQuote
- Вызов: CAllCrmQuote::PrepareStorageElementIDs
static function PrepareStorageElementIDs(&$arFields) { if(isset($arFields['STORAGE_ELEMENT_IDS']) && is_array($arFields['STORAGE_ELEMENT_IDS'])) { return; } if(isset($arFields['~STORAGE_ELEMENT_IDS'])) { $field = $arFields['~STORAGE_ELEMENT_IDS']; } elseif(isset($arFields['STORAGE_ELEMENT_IDS'])) { $field = $arFields['STORAGE_ELEMENT_IDS']; } else { $field = ''; } if(is_array($field)) { $result = $field; } elseif(is_numeric($field)) { $ID = (int)$field; if($ID <= 0) { $ID = isset($arFields['ID']) ? (int)$arFields['ID'] : (isset($arFields['~ID']) ? (int)$arFields['~ID'] : 0); } if($ID <= 0) { $result = array(); } else { $result = self::LoadElementIDs($ID); $arUpdateFields = array('STORAGE_ELEMENT_IDS' => serialize($result)); $table = CCrmActivity::TABLE_NAME; global $DB; $DB->QueryBind( 'UPDATE '.$table.' SET '.$DB->PrepareUpdate($table, $arUpdateFields).' WHERE ID = '.$ID, $arUpdateFields, false ); } } elseif(is_string($field) && $field !== '') { $result = unserialize($field, ['allowed_classes' => false]); } else { $result = array(); } $arFields['~STORAGE_ELEMENT_IDS'] = $arFields['STORAGE_ELEMENT_IDS'] = &$result; unset($result); }