Заметки
Как получить элементы смарт-процесса PHP-кодом без REST
В коробке элементы смарт-процесса доступны через CRM-фабрику. Пример для административной выборки:
use Bitrix\Main\Loader;
use Bitrix\Crm\Service\Container;
if (!Loader::includeModule('crm')) {
throw new RuntimeException('Модуль CRM недоступен');
}
$factory = Container::getInstance()->getFactory(178);
if (!$factory) {
throw new RuntimeException('Тип CRM не найден');
}
$items = $factory->getItems([
'select' => ['ID', 'TITLE', 'ASSIGNED_BY_ID'],
'filter' => ['=ASSIGNED_BY_ID' => 15],
'order' => ['ID' => 'DESC'],
'limit' => 50
]);
foreach ($items as $item) {
echo $item->getId() . PHP_EOL;
} Ядро должно быть подключено до выполнения этого кода. 178 — entityTypeId, а не ID записи типа.
getItems() нельзя считать автоматическим фильтром прав посетителя. Для пользовательского интерфейса нужна выборка с предусмотренной CRM проверкой прав. Здесь также возвращаются только первые 50 элементов: выгрузка всего набора требует последовательного чтения порций.