Поиск эл списка по нескольким полям (ТЕСТ)
Активити (робот) анализирует выбранный список и находит элементы, удовлетворяющие набору условий. Для каждого условия указывается тип поля, буквенный код, код сравнения и искомое значение. Результатом будет массив ID найденных элементов и ID первого элемента из списка найденных.
Где искать элемент: в выпадающем списке выберите местоположение искомого элемента. Если поле является списком, используйте ID элемента, а не его текстовое значение.
Чтобы определить ID элемента:
1. Перейдите в режим редактирования элемента списка.
2. Нажмите F12 и включите выбор элемента на странице.
3. Укажите нужное поле списка.
4. Внизу появится значение с нужным ID.
Если осуществляется поиск списка групп, поле "Где искать элемент" не заполняется.
| Название поля | Описание и примеры использования |
|---|---|
| Где искать элемент | Выберите список, в котором выполняется поиск. Для поиска по групповым спискам поле оставьте пустым. Пример: lists_567. |
| ID группы | Укажите идентификатор группы соцсети, если используется списочный инфоблок в группе. Пример: {=Variable:GROUP_ID}. |
| ID списка | Задайте идентификатор инфоблока для поиска. Пример: {=Variable:IBLOCK_ID}. |
| Параметры поиска элемента(ов) | Укажите одно или несколько условий в формате ТИП##КОД##УСЛОВИЕ##ЗНАЧЕНИЕ. Примеры: CODE##NAME##1##Трос; NAME##7##Заказ {=Document:ID}. |
| Тип условия для всех параметров | Выберите тип агрегирования условий: 1 — все условия (И), 2 — любое условие (ИЛИ). Пример: 1. |
| Делать отладочные сообщения в журнал БП | Да/нет. Включайте только при необходимости детальной диагностики, так как активити использует дополнительные запросы. |
| Запускать от имени | Укажите сотрудника, от имени которого выполняется поиск. Рекомендуется задавать сотрудника с административными правами. Пример: {=Template:TargetUser}. |
| Устанавливать текст статуса | Да/нет. При выборе «Да» активити обновляет статус шага бизнес-процесса. |
| Текст статуса | Текстовое описание текущего шага. Пример: Копия {=Document:TITLE}. |
| Ожидать ответа | Системное поле, определяет необходимость ожидания результата от приложения. |
| Период ожидания. Время ожидания ответа от приложения | Укажите период ожидания (не менее 5 минут). Пример: 10m. |
Условия задаются последовательностью: тип поля##буквенный код##код условия##значение.
Типы полей: CODE — пользовательские поля, NAME — название, DETAIL_TEXT — детальный текст, PREVIEW_TEXT — текст анонса.
Коды условий: 1 (=), 2 (!=), 3 (>=), 4 (<=), 5 (>), 6 (<), 7 (%), 8 (!%).
Примеры условий:
CODE##UF_SUMMA##1##{=Variable:TARGET_SUM}
DETAIL_TEXT##7##СПБ
NAME##7##Контракт {=Document:ID}
PREVIEW_TEXT##8##Архив
Для полей типа число или дата диапазон задаётся повторением параметра CODE с разными кодами условий. Пример: Ищем элемент за период с 01.03.2025 09:00:00 по 03.03.2025 09:00:00: CODE##UF_CRM_DATE##3##{01.03.2025 09:00:00} и CODE##UF_CRM_DATE##4##{03.03.2025 09:00:00}.
| Описание примера | Решение |
|---|---|
| Поиск договора по названию и сумме с обязательным совпадением обоих условий | Где искать элемент — lists_567; Параметры поиска — CODE##UF_CONTRACT_NAME##1##Договор {=Document:ID}, CODE##UF_SUMMA##3##100000; Тип условия — 1. |
| Нахождение заявок, в детальном тексте которых указан город СПБ | Параметры поиска — DETAIL_TEXT##7##СПБ; Тип условия — 2; Результат используется в итераторе для уведомления {=User:ID}. |
| Выбор элементов, название которых содержит номер счёта документа | Параметры поиска — NAME##7##Счет {=Document:ACCOUNT_NUMBER}; Тип условия — 1; Группа — {=Variable:GROUP_ID}. |
| Поиск элементов с анонсом, не содержащим слово "Архив" | Параметры поиска — PREVIEW_TEXT##8##Архив; Тип условия — 2; ID списка — {=Variable:IBLOCK_ID}. |
| Поиск заявок с датой создания в диапазоне текущей недели | Параметры поиска — datetime##UF_DATE_CREATE##{{01.03.2025 00:00:00}}##{{07.03.2025 23:59:59}}; Тип условия — 1; Результат используется для уведомления {=User:ID}. |
| Получение списка элементов, где сумма больше значения из переменной | Параметры поиска — CODE##UF_SUMMA##5##{=Variable:TARGET_SUM}; Тип условия — 2; Делать отладку — нет. |
| Поиск элементов с точным совпадением пользовательского поля "Статус" | Параметры поиска — CODE##UF_STATUS##1##{=Variable:STATUS_TEXT}; Тип условия — 1; Запускать от имени — {=Template:TargetUser}. |
| Отбор элементов, у которых поле "Регион" не содержит значение {=Variable:REGION_BLOCK} | Параметры поиска — CODE##UF_REGION##8##{=Variable:REGION_BLOCK}; Тип условия — 2. |
| Поиск элементов по нескольким условиям с типом "ИЛИ" | Параметры поиска — CODE##UF_PRIORITY##1##Высокий, NAME##7##{=Document:TITLE}; Тип условия — 2. |
| Выбор элементов с детальным текстом, содержащим ссылку на текущий бизнес-процесс | Параметры поиска — DETAIL_TEXT##7##{=Workflow:ID}; Тип условия — 2; Устанавливать текст статуса — да; Текст статуса — Найдено {=System:Date}. |
- Сообщение об ошибке.
- Соответствует условиям.
- ID элемента списка (первый, если найдено несколько).
- Результат поиска (массив ID для итератора).


