- Модуль: salescenter
- Путь к файлу: ~/bitrix/modules/salescenter/lib/controller/compilation.php
- Класс: BitrixSalesCenterControllerCompilation
- Вызов: Compilation::createCompilationAction
public function createCompilationAction(array $productIds = [], array $options = []): array
{
if (!isset($options['ownerId']) || (int)$options['ownerTypeId'] !== CCrmOwnerType::Deal)
{
return [];
}
$dealId = (int)$options['ownerId'];
$dialogId = $options['dialogId'] ?? null;
$chatId =$this->normalizeChatId($dialogId);
if (!$dealId)
{
$dealId = $this->createDealForCompilation();
$this->onAfterDealAdd($dealId, (int)$options['sessionId']);
ImOpenLinesManager::getInstance()->sendDealNotify($dealId, $dialogId);
}
$compilationId = CatalogManager::getInstance()->createCompilationForDeal($dealId, $productIds, $chatId);
$compilationLink = CatalogManager::getInstance()->getLinkToProductCompilation($compilationId, $productIds)->getData();
return [
'link' => $compilationLink['link'],
'compilationId' => $compilationId,
'ownerId' => $dealId,
];
}