Что бы искать элементы инфоблоков по любому стандартному полю, в частности символьному коду. Тогда не придется городить целый GetList ради выбора единственной записи по символьному коду.
Сделать возможность применять подзапросы (SubQuery) не только по полю ID элемента основного запроса, но и по значению свойства типа "Привязка к элементам".
Хелло, В API по выбору элементов инфоблока ( CIBlockElement::GetList() ) есть возможность фильтрации по полям связанных элементов, для этого нужно поставить точку, т.е. например $arFilter = array('PROPERTY_link.CODE' => 'код связанного элемента');
Было бы здорово, если бы работало и по свойствам, хотя бы для цепочек связанности одного уровня (кстати, неограниченный уровень цепочек - это вторая идея, чтобы было возможно многократно указать через точку: PROPERTY_link.PROPERTY_link2.PROPERTY_some_prop - т.е. транзитивная фильтрация ).
Т.е. хотелось, чтобы работало и так:
$arFilter = array('PROPERTY_link.PROPERTY_link2' => 'фильтрация по свойству связанного элемента');
Например, справочник Модели [секция - Бренд, элемент - Модель] и каталог Товары [секция - Категория, элемент - Товар] связаны между собой свойством "Привязка к товарам". Мои модификации делают возможными следующий синтаксис:
//найти все мужские товары
$arFilter["PROPERTY_MODEL.PROPERTY_GENDER"] = $prop1;
//найти товары определенного бренда
$arFilter["PROPERTY_MODEL.IBLOCK_SECTION_ID"] = $sect1;
//посчитать количество кожаных товаров
$arGroupBy["PROPERTY_MODEL.PROPERTY_MATERIAL"] = $prop2;
//посчитать количество товаров бренда
$arGroupBy["PROPERTY_MODEL.IBLOCK_SECTION_ID"] = $sect2;
Все изменения касаются файла /bitrix/modules/iblock/classes/general/iblockelement.php. Версия модуля "Информационные блоки" - 11.0.2. Выложил только модифицированные функции (мои дополнения и модификации выделены цветом): http://pastehtml.com/view/bb8kug80v.rtxt