- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/kanban/entity/dynamic.php
- Класс: Bitrix\Crm\Kanban\Entity\Dynamic
- Вызов: Dynamic::getDataToCalculateTotalSums
protected function getDataToCalculateTotalSums(string $fieldSum, array $filter, array $runtime): array
{
if ($this->factory->isStagesEnabled())
{
ItemDataProvider::processStageSemanticFilter($filter, $filter);
}
unset($filter[ItemDataProvider::FIELD_STAGE_SEMANTIC]);
$userPermissions = Container::getInstance()->getUserPermissions();
$filter = $userPermissions->applyAvailableItemsFilter(
$filter,
[$userPermissions::getPermissionEntityType($this->getTypeId(), $this->getCategoryId())]
);
$queryParameters = [
'filter' => $filter,
'select' => [
$this->getStageFieldName(),
new ExpressionField($fieldSum, 'SUM(%s)', Item::FIELD_NAME_OPPORTUNITY_ACCOUNT),
new ExpressionField('CNT', 'COUNT(1)'),
],
];
if (!empty($runtime))
{
$queryParameters['runtime'] = $runtime;
}
$data = [];
$res = $this->factory->getDataClass()::getList($queryParameters);
while ($row = $res->fetch())
{
$data[] = $row;
}
return $data;
}