0 0,00 

Поиск элемента в универсальном списке или процессе Живой ленты

06.02.2022
2
Поиск элемента

Так как стандартного действия по поиску элемента списка или бизнес-процесса в Битриксе нет, то будем использовать REST API. Если у вас коробочная версия, то можно воспользоваться действием PHP-код, если же облачная, то в маркете есть два приложения, которые позволяют пользоваться REST API.

Описание задачи: Есть смарт-процесс Договоры, где настроен процесс согласования несколькими лицами. 

К смарт-процессу создан универсальный список согласований и при каждом решении того или иного лица это решение вносится в список. 

Согласования

Поля универсального списка:

Поля списка

На одном из этапов надо проверять решение конкретных лиц, для этого нужно найти это решение в списке и прочитать статус согласования. С помощью кода ниже мы ищем последнее решение генерального директора. Далее мы можем прочитать элемент и его поля стандартным действием Чтение элемента списка.

				
					if (\Bitrix\Main\Loader::includeModule('iblock'))
{
    $rootActivity = $this->GetRootActivity();

   $Doc_id = (int)'{{ID}}';
   $US_id = {{ГД}};
   $US_id = preg_replace("/[^0-9]/", '', $US_id);

$res = \CIBlockElement::GetList(array('ID' => 'DESC'), array('IBLOCK_ID' => 35, '=PROPERTY_188' => $Doc_id, '=PROPERTY_189' => $US_id));
$elements = array();
while($ar = $res->Fetch())
{
    $elements[] = $ar['ID'];
}

   $rootActivity->SetVariable('Elements', $elements);
   $rootActivity->SetVariable('LastElement', $elements[0]);
   $rootActivity->SetVariable('Us', $US_id);
}
				
			
  • $Doc_id – ID договора в смарт-процессе;
  • $US_id – пользователь, чье решение нужно найти; 
  • ‘ID’ => ‘DESC’ – сортировка в убывающем порядке по полю ID;
  • ‘IBLOCK_ID’ => 35 – ID универсального списка; 
  • ‘=PROPERTY_188’ => $Doc_id – поле договор равно текущему договору;
  • ‘=PROPERTY_188’ => $US_id – пользователь равен искомому;
  • $elements[0] – первый элемент в отфильтрованном списке решений.

Коды полей универсального списка можно посмотреть в адресной строке при редактировании поля.

Поле договор

Обратите внимание, что поле договор – это поле типа Привязка к элементам CRM, при создании смарт-процесса в этом типе поля добавляются сущности, которые вы создали.

Читайте также

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
2 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Светлана
Светлана
2 месяцев назад

Вера, добрый день, приходилось ли вам решать задачи со связанными универсальными списками и реализовать вывод значения второго поля на основания указаний в первом?

2
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x
0
    0
    Корзина
    Корзина пустаВернуться в магазин