• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/posting/segmentdatabuilder.php
  • Класс: BitrixSenderPostingSegmentDataBuilder
  • Вызов: SegmentDataBuilder::calculateFilterCounts
public function calculateFilterCounts(): array
{
	$connectors = GroupConnectorTable::getList(
		[
			'filter' => ['=GROUP_ID' => $this->groupId]
		])->fetchAll();

	$counters = [];
	foreach ($connectors as $dbConnector)
	{
		$endpoint = $dbConnector['ENDPOINT'];
		$connector = ConnectorManager::getConnector(
			$endpoint
		);

		$this->filterId = $endpoint['FILTER_ID'] ?? 'sender_crm_client_--filter--crmclient--';
		if ($connector instanceof Contact)
		{
			$connector->setCheckAccessRights(false);
			$connector->setFieldValues($endpoint['FIELDS']);
		}
		$counters[] = self::CONNECTOR_ENTITY[$connector->getCode()] ?
					new ConnectorDataCounter(QueryCount::getPreparedCount(
					$this->getQuery(),
					self::SEGMENT_TABLE,
					self::CONNECTOR_ENTITY[$connector->getCode()]
				)) : $connector->getDataCounter()
		;

	}

	Segment::updateAddressCounters($this->groupId, $counters);

	return $counters;
}