• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/sender/segment.php
  • Класс: Bitrix\Crm\Integration\Sender\Segment
  • Вызов: Segment::getEntitiesByGridId
static function getEntitiesByGridId($entityTypeId, $gridId)
{
	$result = new Main\Result();
	$result->setData([]);
	if (!$entityTypeId || !$gridId)
	{
		return $result;
	}

	$filterFields = \Bitrix\Crm\Filter\Factory::createEntityFilter(
		\Bitrix\Crm\Filter\Factory::getSettingsByGridId($entityTypeId, (string)$gridId)
	)->getValue();

	$entity = Crm\Entity\EntityManager::resolveByTypeID($entityTypeId);
	if($entity)
	{
		if ($entity->getCount(['filter' => $filterFields]) > self::ENTITIES_LIMIT)
		{
			$result->addError(
				new Main\Error(
					Loc::getMessage('CRM_INTEGRATION_SENDER_SEGMENT_LIMIT_ERROR', array("%limit%" => self::ENTITIES_LIMIT))
				)
			);
		}
		else
		{
			$result->setData($entity->getTopIDs(['filter' => $filterFields, 'limit' => 0]));
		}
	}

	return $result;
}