- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/sender/rc/service.php
- Класс: Bitrix\Crm\Integration\Sender\Rc\Service
- Вызов: Service::getDealWorkerCount
static function getDealWorkerCount($categoryId = null)
{
if (!self::canUse())
{
return null;
}
$items = Sender\Entity\Rc::getList([
'select' => ['MESSAGE_ID'],
'filter' => [
'=REITERATE' => 'Y',
'=STATUS' => Sender\Dispatch\Semantics::getWorkStates(),
'=MESSAGE_CODE' => 'rc_deal'
],
'cache' => ['ttl' => 36000]
])->fetchAll();
$fields = Sender\Internals\Model\MessageFieldTable::getList([
'select' => ['VALUE'],
'filter'=> [
'=MESSAGE_ID'=> array_column($items, 'MESSAGE_ID'),
'=CODE' => 'CATEGORY_ID'
],
'cache' => ['ttl' => 36000]
])->fetchAll();
return count(
$categoryId !== null
? array_filter(
$fields,
function ($field) use ($categoryId)
{
return mb_strlen($field['VALUE']) && $field['VALUE'] == $categoryId;
}
)
: $fields
);
}