...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/controller/activity/sms.php
- Класс: Bitrix\Crm\Controller\Activity\Sms
- Вызов: Sms::getConfig
private function getConfig(int $entityTypeId, int $entityId): array { $config = SmsManager::getEditorConfig($entityTypeId, $entityId); if (empty($config['communications'])) { $factory = Container::getInstance()->getFactory($entityTypeId); $item = $factory->getItem($entityId); if ($item && $item->hasField(Item::FIELD_NAME_CONTACT_BINDINGS)) { $contacts = $item->getContacts(); foreach ($contacts as $contact) { $config['communications'][] = [ 'entityId' => $contact->getId(), 'entityTypeId' => \CCrmOwnerType::Contact, 'caption' => $contact->getFormattedName(), ]; } if ($item->hasField(Item::FIELD_NAME_COMPANY)) { $company = $item->getCompany(); if ($company) { $config['communications'][] = [ 'entityId' => $company->getId(), 'entityTypeId' => \CCrmOwnerType::Company, 'caption' => $company->getTitle(), ]; } } } } $isMessageServiceInstalled = ModuleManager::isModuleInstalled('messageservice'); foreach ($config['senders'] as &$sender) { $isTemplatesBased = ($sender['isTemplatesBased'] ?? false); $canUse = ($sender['canUse'] ?? false); $senderId = $sender['id']; if ( $isTemplatesBased && $canUse && !empty($config['defaults']) && $config['defaults']['senderId'] === $senderId ) { if ($isMessageServiceInstalled) { $senderEntity = \Bitrix\MessageService\Sender\SmsManager::getSenderById($senderId); if ($senderEntity) { $sender['templates'] = $senderEntity->getTemplatesList(); } } else { $config['defaults'] = null; } } } unset($sender); return $config; }