...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/recurring/entity/item/dealexist.php
- Класс: Bitrix\Crm\Recurring\Entity\Item\DealExist
- Вызов: DealExist::fillTemplateFields
protected function fillTemplateFields() { global $USER_FIELD_MANAGER; $result = new Main\Result(); $fields = \CCrmDeal::GetByID($this->templateId, false); if (empty($fields)) { $result->addError(new Main\Error('Template entity not found')); return $result; } $this->setTemplateFields($fields); $dealUserType = new \CCrmUserType($USER_FIELD_MANAGER, \CCrmDeal::GetUserFieldEntityID()); $userFields = $dealUserType->GetEntityFields($this->templateId); foreach ($userFields as $key => $ufField) { $this->setTemplateField($key, $ufField['VALUE']); } $dealProducts = \CCrmDeal::LoadProductRows([$this->templateId]); $dealProducts = is_array($dealProducts) ? $dealProducts : []; $this->setTemplateField('PRODUCT_ROWS', $dealProducts); $dealContactIds = []; $contactsRawData = DealContactTable::getList([ 'filter' => ['=DEAL_ID' => $this->templateId], 'select' => ['DEAL_ID', 'CONTACT_ID'] ]); while ($contact = $contactsRawData->fetch()) { $dealContactIds[$contact['DEAL_ID']][] = $contact['CONTACT_ID']; } $this->setTemplateField('CONTACT_IDS', $dealContactIds); $observers = ObserverManager::getEntityObserverIDs(\CCrmOwnerType::Deal, $this->templateId); if (!empty($observers)) { $this->setTemplateField('OBSERVER_IDS', $observers); } return $result; }