Представляю вашему вниманию цикл статей по работе с пока еще мало знакомым многим битрикс-разработчикам инструментом оперирования данными с CRM Битрикс24 через абстрактные фабрики. В первой статье мы рассмотрели базовые операции с элементами сущностей Смарт-процессов — создание, изменение, удаление.  Быстрый старт работы со Смарт-процессами в коробке Битрикс24 для разработчика. Часть 1. Базовые операции Сейчас же рассмотрим прочие операции с элементом и списком элементов Смарт-процессов, а именно: Получение списка элементов смарт-процесса Получение данных конкретного элемента смарт-процесса Добавление связанного контакта к элементу Смарт-процесса Получение связей с другими сущностями CRM или смарт-процессами через relationManager Как мы уже разбирали в прошлой статье, для оперирования элементами Смарт-процесса необходимо использовать такого "зверя" как абстрактную фабрику, на которую в последствии перенесут оперирование всем сущностями CRM. С некоторыми работает в экспериментальном режиме уже сейчас. Поэтому перед началом разбора примеров договоримся, что каждый из них предполагает инициализацию фабрики перед выполнением указанных в примере действий. Напоминаю, что делается это например так: Да, можно вызовы методов сократить через use, но я не делаю этого намеренно, чтобы читающие данную статью проще понимали расположение неймспейсов. В первом примере разберем способ получения массива данных конкретного элемента смарт-процесса. Как уже указывал выше, считаем что фабрику мы инициализировали и можем выполнять с ней действия. Тогда в простейшем виде вытащить массив данных элемента Смарт-процесса с ID=1 можно следующим способом: Данный способ предполагает получение объекта конкретного элемента, который как и фабрика содержит свой набор методов, в частности метод getData(), возвращающий массив значение полей элемента. Описание большинства методов, доступных из объекта элемента, можно посмотреть в официальной документации по D7. А как же быть "счастливым" обладателям облачной версии, где нельзя добавлять свой PHP код в логику, а получить данные элемента Смарт-процесса все таки хочется? Для облака есть специальный Rest метод crm.item.get, который нам в этом поможет. Пример запроса на получение данных элемента Смарт-процесса из JavaScript: Для выполнения данной операции в простейшем виде на нужен будет метод фабрики getItems. Возвращает он такие-же объекты элемента, как в предыдущем разделе, для удобства упакованные в один массив. Пример реализации на PHP для коробочной версии Битрикс24, опять же считаем что фабрику мы уже инициализировали: Далее нам остается пройтись по полученному массиву и таким способом получить объекты для каждого элемента выборки, например с помощью кода из раздела 1 данной статьи. В RestAPI с получением списка элементов поможет метод crm.item.list. Пример использования данного метода во front-end: Такой запрос получит массив всех элементов указанного смарт-процесса. Помимо получение данных об элементе, из объекта элемента также можно получить данные о привязанных контактах. Пример реализации: Таким образом через встроенные методы объекта элемента мы можем оперировать привязанными контактами смарт-процесса. Так как Смарт-процессы могут связываться не только с контактами, разберем пример получения данных о привязках через relationManager. Это такой специальный объект-сервис, позволяющий совершать действия с API связей между различными сущностями. Подробнее о нем можно почитать в официальной документации по ссылке выше. Пример кода для получения связей определенного элемента Смарт-процесса: Планы на следующие части В рамках цикла статей по работе со Смарт-процессами через API Битрикс24 коробочной версии планируются еще статьи: Базовые операции Работа со списком элемента Смарт-процесса и связями между ними Как реализовать обработчики события для Смарт-процессов Ссылки на них будут появляться здесь по мере написания этих статей. Напоследок хочу порекомендовать вам бесплатный вебинар, на котором мы рассмотрим разницу между роботами и бизнес-процессами. Создадим обработку документов с помощью роботов и БП. Научимся ставить задачи участникам процесса. Рассмотрим обычный бизнес-процесс и бизнес-процесс со статусами.  Регистрация на вебинар доступна по ссылке. Всем спасибо за внимание!    Bitrix24/PHP Teamlead