function getAvailableElementsCount(array $arSections) { $res = \Bitrix\Iblock\SectionElementTable::getList(array( 'select' => array('CNT', 'IBLOCK_SECTION_ID'), 'filter' => array( 'IBLOCK_SECTION_ID' => $arSections, 'PRODUCT.AVAILABLE' => 'Y', 'ELEMENT.ACTIVE' => 'Y' ), 'runtime' => array( new \Bitrix\Main\Entity\ExpressionField('CNT', 'COUNT(*)'), 'PRODUCT' => array( 'data_type' => '\Bitrix\Catalog\ProductTable', 'reference' => array( '=this.IBLOCK_ELEMENT_ID' => 'ref.ID' ), 'join_type' => 'left' ), 'ELEMENT' => array( 'data_type' => '\Bitrix\Iblock\ElementTable', 'reference' => array( '=this.IBLOCK_ELEMENT_ID' => 'ref.ID' ), 'join_type' => 'left' ) ) )); return $res->fetchAll(); } |
разное количество элементов в тесте, но да =)