Найти записи
Используется, чтобы найти записи в Бипиуме, установив ограничения на выборку в качестве видов или фильтров. Процессы имеют доступ к записям минуя правовую политику.
Указать каталог
Способ выбора каталога для поиска записи. Доступные варианты:
из списка
и через переменную
. Вариант «из списка» подойдет, когда вы знаете в каком каталога хотите найти запись. Вариант «через переменную» используется, если нужно искать запись в разных каталогах в зависимости от логики в сценарии.Каталог
Свойство доступно при выбранном значении
Указать каталог = Из списка
. Выбор каталога из числа доступных в системе для поиска записи. Формат: выбор из списка каталогов.ID каталога
Свойство доступно при выбранном значении
Указать каталог = Через переменную
. Идентификатор (ID) каталога, в котором нужно найти запись. Формат: значение/выражение.Фильтр
Фильтр предназначен для выборки записей. Формат значения: идентификатор поля = "значение"/выражение. Значения для разных типов полей:
- Для текстовых полей:
"текст"
(поиск идет не по точному совпадению, а по вхождению) - Для дат, чисел, прогресса — поиск по диапазону:
{ "at": '...', "to": '...' }
- Для поиска пустых дат можно использовать "NULL_DATE"
- Для категории, набора галочек, вопроса, звёзд — массив:
[1, 2, 3, 5]
- Для контактов:
"текст"
(поиск по вхождению + телефоны отчищаются от спецсимволов) - Для связанных объектов — массив объектов:
[ {"catalogId": 18, "recordId": 9}, {"catalogId": 18, "recordId": 10} ]
- Для сотрудников — массив идентификаторов сотрудников:
[21, 22]
В поле «Id поля» можно передать переменные при помощи вложенных шаблонов.
Синтаксис
${выражение} =
значениеВид
Список правовых видов выбранного каталога. Формат: список видов.
Сортировать по
Позволяет задать сортировку по выбранному полю. Формат: список полей в выбранном каталоге.
Поля
Способ указания какие поля записи должны вернуться в результате. Доступные варианты:
все поля
и заданные
. Вариант «все поля» вернет все поля каталога, включая расширенные поля связанных записей, которые заданы в настройках полей каталога. Вариант «заданные» позволяет указать какие именно поля вернуть, в том числе и расширенные поля у связанных записей.ID полей
Свойство доступно при выбранном значении
Поля = Заданные
. Массив идентификаторов (API ID) полей каталога, указанных через запятую. Ограничение списка полей уменьшает размер данных в сценарии, и увеличивает скорость их получения. Также компонент позволяет получить любые расширенные поля у связанных записей. Формат: значение/выражение.[
{
fieldId: IDполя1,
fields: {
IDкаталога1: [ IDрасширенногоПоля1, IDрасширенногоПоля2, ... ],
IDкаталога2: [ IDрасширенногоПоля3, IDрасширенногоПоля4, ... ],
...
}
},
{
fieldId: IDполя2,
...
}
]
IDполяX
— поле выбранного каталогаIDкаталогаХ
— Идентификатор каталога связанного каталога. Поле «связанные каталог» может иметь несколько источников. Для каждого каталога источника можно указать какие именно поля нужно получить.IDрасширенногоПоляХ
— идентификаторы полей связанного каталога, которые нужно получить.
Количество записей
Максимальное количество возвращаемых записей (максимум 1000, по умолчанию - 100). Формат: значение/выражение.
Начиная с
Используется в связке с параметром «Количество записей». Если записей много и для возврата записей используется цикл, то позволяет задать начальный порядковый номер записи (не ID), с которого будет отсчитан лимит возвращаемых записей. По умолчанию 0. Например, если указано 200, а количество записей = 100, то будет возвращены записи с 201 по 300. Формат: значение/выражение.
Сохранить в
Выходной параметр. Сохранит результат в указанную переменную. Формат: имя переменной. Компонент возвращает массив записей:
[
{
id: '11',
title: 'Название записи',
values: {
'field_id' : 'field_value',
...
}
},
{...}
]
В поле «Сохранить в» можно указать ключ объекта и данные сохранятся как значения этого ключа.
Пример
Если указать в поле «Сохранить в» переменную
data.temp, то результат будет выглядеть следующим образом:
data: {
"temp": [
{
id: '11',
title: 'Название записи',
values: {
'field_id' : 'field_value',
...
}
},
{...}
]
}
Всего записей в
Выходной параметр. Сохранит количество найденных записей в указанную переменную. Формат: имя переменной.
Найденных записей ≠ возвращенных записей
Найденные записи — записи удовлетворяющие фильтру, и их может быть больше, чем число возвращенных из них записей (из-за параметра «Количество записей»).
Число возвращенных записей
Чтобы получить число возвращенных записей используйте метод length для массивов. Допустим вы сохранили результат в переменную records. Тогда, чтобы получить число возвращенных записей используйте выражение
records.length
.Переменная с результатом («сохранить в») содержит объект values — значения полей записи. Ключи объекта — идентификаторы полей. Формат значений для разных типов полей разный:
- Однострочный текст =
"Однострочный текст"
- Многострочный текст =
"Многострочный текст"
- Дата =
"2015-11-06T21:00:00.000Z"
- Категория / набор галочек =
[2]
или несколько значений[2,3,4]
, без значения[]
- Вопрос =
2
- Число =
3.2
- Прогресс =
28
(допустимо от 0 до 100) - Звезды =
5
(допустимо от 0 до 5) - Контакт = массив объектов:
[ {"contact": "8-901-234-56-78", comment: "Секретарь"}, {...} ]
- Связанная запись = массив объектов:
[ {catalogId: '11',recordId: '91', catalogTitle: 'Название каталога', recordTitle: 'Название записи', isRemoved: false}, {...} ]
- Сотрудник = массив объектов:
[{id: '21', title: 'Имя', isRemoved: false}, {...}]
- Файл = массив объектов:
[ {title: "имя", url: "http://путь", size: 45654, mimeType: "image/png"}, {...} ]
гдеmimeType
— допустимые значения
Как получить значение поля?
Допустим, вы сохранили найденные записи в переменную
records
. И далее с помощью компонента назначение переменных присваиваете в переменную r
некую запись (например нулевую), выражением records[0]
. Чтобы обратиться к коллекции значений полей этой записи, используйте выражение r.values
.Чтобы получить значение, например, 4-го поля записи, используйте компонент назначение переменных и укажите выражение
r.values['4']
.Как получить значение сложного поля?
Для сложных типов полей (значения которых представлены массивом, например: категория, связанный объект, контакт, сотрудник, файл) значение поля будет массивом. Чтобы узнать сколько элементов в массиве используйте выражение
r.values['4'].length
, а чтобы получить значение, например, 0-го элемента массива: r.values['4'][0]
, чтобы обратится к его свойству, например recordId у поля типа связанный объект: r.values['4'][0].recordId
.Однако, если вы обратитесь к параметру (например recordId) к элементу массива, которого нет (например, когда в поле не выбрано никакое значение), то сценарий прервется с ошибкой. Поэтому, прежде чем получить свойство у объекта в массиве, нужно сначала проверить что массив не пустой. Это можно сделать с помощью компонентов ветвления сценария (шлюзов) и проверки условий на исходящих соединительных линиях, или с помощью выражения:
r.values['4'].length && r.values['4'][0].recordId
.Это выражение проверяет что в 4-м поле в массиве есть элементы, и если есть хотя бы один, то возвращает значение свойства recordId в 0-м элементе. Именно это значение будет присвоено переменной. Если элементов нет, то переменной будет присвоено 0.

Компонент поддерживает 2 типа пограничных событий:
- Ошибка — выход из компонента, если произошла какая-либо ошибка
- Таймаут — выход из компонента, спустя заданное ограничение по времени
Если компонент завершился с ошибкой, но на нем не было пограничного события, то процесс завершается. Сообщение ошибки возвращается в результатах процесса.
Last modified 10mo ago