- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/sip_helper.php
- Класс: \CCrmSipHelper
- Вызов: CCrmSipHelper::getDeals
static function getDeals($entityTypeID, $entityID, $userID): array
{
$dealIds = static::getDealIds($entityTypeID, $entityID);
if ($dealIds === [])
{
return [];
}
$dealFactory = Container::getInstance()->getFactory(\CCrmOwnerType::Deal);
if (!$dealFactory)
{
return [];
}
$parameters = [
'select' => [
Item::FIELD_NAME_ID,
Item::FIELD_NAME_TITLE,
Item::FIELD_NAME_STAGE_ID,
Item::FIELD_NAME_OPPORTUNITY,
Item::FIELD_NAME_CURRENCY_ID,
Item::FIELD_NAME_CATEGORY_ID,
Item::FIELD_NAME_IS_RETURN_CUSTOMER,
Item\Deal::FIELD_NAME_IS_REPEATED_APPROACH,
Item::FIELD_NAME_CREATED_TIME,
],
'filter' => [
'@ID' => $dealIds,
'CLOSED' => 'N',
],
'order' => [
Item::FIELD_NAME_BEGIN_DATE => 'ASC',
],
'limit' => 2,
];
$dealItems = $dealFactory->getItemsFilteredByPermissions($parameters, $userID);
$deals = [];
foreach ($dealItems as $item)
{
$id = $item->getId();
$opportunity = $item->getOpportunity();
$currencyId = $item->getCurrencyId();
$stageName = null;
$stageColor = null;
$stage = $dealFactory->getStage($item->getStageId());
if ($stage)
{
$stageName = $stage->getName();
$stageColor = $stage->getColor();
}
$deals[] = [
'ID' => $id,
'TITLE' => $item->getTitle(),
'STAGE_ID' => $item->getStageId(),
'CATEGORY_ID' => $item->getCategoryId(),
'STAGE_NAME' => $stageName,
'STAGE_COLOR' => $stageColor,
'OPPORTUNITY' => $opportunity,
'CURRENCY_ID' => $currencyId,
'SHOW_URL' => CCrmOwnerType::GetEntityShowPath(CCrmOwnerType::Deal, $id),
'FORMATTED_OPPORTUNITY' => CCrmCurrency::MoneyToString($opportunity, $currencyId),
'REPEATED_TEXT' => self::getEntityRepeatedText($item),
'CREATED_TIME' => $item->getCreatedTime()->getTimestamp(),
'IS_RETURN_CUSTOMER' => $item->getIsReturnCustomer(),
'IS_REPEATED_APPROACH' => $item->get(Item\Deal::FIELD_NAME_IS_REPEATED_APPROACH),
];
}
return $deals;
}